【发布时间】:2015-06-26 18:48:43
【问题描述】:
我有一个数据框,其中包含缺失值的数据列,我想通过使用上方和下方单元格的值取平均值来替换缺失值。
df1<-c(2,2,NA,10, 20, NA,3)
if(df1[i]== NA){
df1[i]= mean(df1[i+1],df1[i-1])
}
但是,我收到了这个错误
Error in if (df1[i] == NA) { : missing value where TRUE/FALSE needed
In addition: Warning message:
In if (df1[i] == NA) { :
the condition has length > 1 and only the first element will be used
如果能提供解决此问题的任何指导,我们将不胜感激。
【问题讨论】:
-
如果连续有两个 NA 值怎么办?如果缺少第一个或最后一个元素怎么办?
-
我以 df1 为例,但我的数据集包含数千个值,并且发现 NA 不是连续的。
标签: r if-statement average missing-data