对于R中的生态模式的最近邻分析,我的代码如下:
data1<-read.table("large.txt")
attach(data1)
x4<-(V1)
y4<-(V2)
r4<-numeric(133)
nn4<-numeric(133)
d4<-numeric(133)
for(i in 1:133){
d4<-0
for(k in 1:133){
d4[k]<-dist(x4[i],y4[i],x4[k],y4[k])
r4[i]<-min(d4[-i])
nn4[i]<-which(d4==min(d4[-i]))
}
}
出现的结果是:
Error in nn4[i] <- which(d4 == min(d4[-i])) : replacement has length zero
任何人都可以解释我如何修复我的代码/更换长度&#39;为零? 感谢
答案 0 :(得分:0)
当函数which(d4==min(d4[-i]))
没有提供匹配时,您会收到此错误。
尝试这样的事情:
ifelse((sum(d4==min(d4[-i])==0)), NA, which(d4==min(d4[-i])))