我试图NA
在 R 中估算温度数据。它是具有 487 个天文台和 60 个时间单位(60 个月)的时空数据。我在这里要做的是替换NA
NA
为在同一个月内与 ' 的天文台距离最小(非零)的值。
这是我的 R 代码(temp_1 是我的数据名称)。
pos.min = function(v){ # find positive minimum index
v.na = v
v.na[v==0] = NA
return(which.min(v.na))
}
for (i in 1:60){
for (j in 1:sum(is.na(temp_1[i,]))){
na.index=which(is.na(temp_1[i,]))
dz.index=pos.min(dz[na.index[j],])
new=temp_1[i,dz.index]
temp_1[i,][is.na(temp_1[i,])][j]=new
}
}
但是,当我运行它时,我收到一条错误消息
temp_1[i, ][is.na(temp_1[i, ])][j] = new 中的错误:替换的长度为零
我输入class(new)
并显示 data.frame,所以我将其更改为数字 by new=as.numeric(temp_1[i,dz.inex])
。但它会遇到同样的错误。
我不明白为什么会收到此错误消息...非常感谢您的帮助。