我有一个数据框,其中缺少由“.”编码的值,并且我想将这些值重新编码为 NA:
df <- data.frame("h"=c(1,1,"."))
我尝试以下操作:
df$h[df$h == "."] <- NA
But the NA
显示为<NA>
,并且我无法执行类似的命令mean(df$h,rm.na=TRUE)
有谁知道问题是什么?当我将数字重新编码为 NA 时没有问题
Thanks!
Use the is.na
功能。无需转换为因子,尽管您拥有字符值的事实确实会导致强制转换您想要的数字。
> df <- data.frame("h"=c(1,1,"."))
> is.na(df) <- df=="."
> df
h
1 1
2 1
3 <NA>
我不知道为什么 @TylerRinker 删除了他关于使用“na.strings”的回复,因为我认为这是正确的答案。
评论:一年后看到这一点,我意识到 a) OP 误解了缺失值在因子或字符向量中的显示方式,b) 主要问题不是重新编码为 R 缺失值时的错误,OP 的代码已经正确地完成了,但是@joran 发现了拼写错误。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)