pan*_*tti 2 replace r dataframe
我有一个数据框,缺少值由"."编码,我想将值重新编码为NA:
df <- data.frame("h"=c(1,1,"."))
我尝试以下方法:
df$h[df$h == "."] <- NA
但是NA看起来像是<NA>,我无法执行命令mean(df$h,rm.na=TRUE)
有谁知道问题是什么?当我将数字重新编码为NA时,没有问题
谢谢!
使用该is.na功能.不需要转换为因子,尽管你有字符值的事实确实会导致你想要数字的强制.
> df <- data.frame("h"=c(1,1,"."))
> is.na(df) <- df=="."
> df
h
1 1
2 1
3 <NA>
Run Code Online (Sandbox Code Playgroud)
我不确定为什么@TylerRinker删除了关于使用'na.strings'的回复,因为我认为这是正确答案.
评论:一年后看到这一点,我意识到a)OP误解了当它们处于因子或特征向量时如何显示缺失值,以及b)主要问题不是重新编码为R缺失值时的错误,OP的代码已经正确地完成了,但更确切地说是@joran发现的拼写错误.