【发布时间】:2013-06-11 12:48:31
【问题描述】:
我有以下数据框:
df1 <- data.frame(id = 1:20, fact1 = factor(rep(c('abc','def','NA',''),5)))
df1
id fact1
1 1 abc
2 2 def
3 3 NA
4 4
5 5 abc
6 6 def
7 7 NA
8 8
9 9 abc
10 10 def
11 11 NA
12 12
13 13 abc
14 14 def
15 15 NA
16 16
17 17 abc
18 18 def
19 19 NA
20 20
我正在尝试将所有缺失值('' 和 NA's)标准化为 NA's。但是当我使用这个时:
df1[df1 == ''] <- NA
似乎有 2 类 NA。
df1
id fact1
1 1 abc
2 2 def
3 3 NA
4 4 <NA>
5 5 abc
6 6 def
7 7 NA
8 8 <NA>
9 9 abc
10 10 def
11 11 NA
12 12 <NA>
13 13 abc
14 14 def
15 15 NA
16 16 <NA>
17 17 abc
18 18 def
19 19 NA
20 20 <NA>
是否有处理这种情况的最佳实践方法?
【问题讨论】:
-
NA != "NA"。也许运行is.na(df1$fact1)可能会有所启发? -
另请注意,
integer、character、logical、factor显示NA的值不同。例如。显示这个data.frame:data.frame(w=c("a","b",NA), x=as.integer(c(1,2, NA)), y= as.factor(c(1,2, NA)), z=as.logical(c(TRUE,FALSE,NA)) )
标签: r missing-data na