如何将R数据帧中的字符串转换为NA?
我们经常会在数据收集过程中发现错误,这些错误可能会导致研究结果不正确。当错误地收集数据时,将使分析师的工作变得困难。显示数据有错误的一种情况是获取字符串代替数字值。因此,我们需要将这些字符串转换为R中的NA,以便我们可以进行预期的分析。
示例
请看以下数据帧-
> x1<-rep(c(1,3,6,7,5,2,"XYZ",12,4,5),times=2)> x2<-rep(c(67,"XYZ",45,32,52),each=4)
> df<-data.frame(x1,x2)
> df
x1 x2
1 1 67
2 3 67
3 6 67
4 7 67
5 5 XYZ
6 2 XYZ
7 XYZ XYZ
8 12 XYZ
9 4 45
10 5 45
11 1 45
12 3 45
13 6 32
14 7 32
15 5 32
16 2 32
17 XYZ 52
18 12 52
19 4 52
20 5 52
将所有XYZ转换为NA-
> df[df=="XYZ"]<-NA> df
x1 x2
1 1 67
2 3 67
3 6 67
4 7 67
5 5 <NA>
6 2 <NA>
7 <NA> <NA>
8 12 <NA>
9 4 45
10 5 45
11 1 45
12 3 45
13 6 32
14 7 32
15 5 32
16 2 32
17 <NA> 52
18 12 52
19 4 52
20 5 52
让我们再看一个例子-
> ID<-c("Class",2:20)> ID<-c("Class",1:19)
> Group<-rep(c("Class",2,3,4,5),times=4)
> df1<-data.frame(ID,Group)
> df1
ID Group
1 Class Class
2 1 2
3 2 3
4 3 4
5 4 5
6 5 Class
7 6 2
8 7 3
9 8 4
10 9 5
11 10 Class
12 11 2
13 12 3
14 13 4
15 14 5
16 15 Class
17 16 2
18 17 3
19 18 4
20 19 5
> df1[df1=="Class"]<-NA
> df1
ID Group
1 <NA> <NA>
2 1 2
3 2 3
4 3 4
5 4 5
6 5 <NA>
7 6 2
8 7 3
9 8 4
10 9 5
11 10 <NA>
12 11 2
13 12 3
14 13 4
15 14 5
16 15 <NA>
17 16 2
18 17 3
19 18 4
20 19 5
以上是 如何将R数据帧中的字符串转换为NA? 的全部内容, 来源链接: utcz.com/z/316470.html