gpt4 book ai didi

用平均值替换 R 中的缺失值

转载 作者:行者123 更新时间:2023-12-04 10:31:51 26 4
gpt4 key购买 nike

我有一个数据框,其中包含缺失值的数据列,我想通过使用上方和下方单元格的值取平均值来替换缺失值。

 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 值并且第一个和最后一个元素永远不是 NA,那么你可以这样做

df1<-c(2,2,NA,10, 20, NA,3)
idx<-which(is.na(df1))
df1[idx] <- (df1[idx-1] + df1[idx+1])/2
df1
# [1] 2.0 2.0 6.0 10.0 20.0 11.5 3.0

这应该比循环更有效。

关于用平均值替换 R 中的缺失值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31080184/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com