我有以下数据框:
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似乎有两类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>有没有处理这种情况的最佳实践方法?
发布于 2013-06-15 03:29:46
对joran的评论进行扩展:
df1 <- data.frame(id = 1:5, fact1 = factor(c('abc','def', NA, 'NA','')))
> df1
id fact1
1 1 abc
2 2 def
3 3 <NA>
4 4 NA
5 5
df1[df1 == '' | df1 == 'NA'] <- NA
> df1
id fact1
1 1 abc
2 2 def
3 3 <NA>
4 4 <NA>
5 5 <NA>https://stackoverflow.com/questions/17115785
复制相似问题