为什么是';更换长度为零';我如何在R中为我的代码修复它?
我的代码如下,用于R中生态模式的最近邻分析:为什么是';更换长度为零';我如何在R中为我的代码修复它?,r,R,我的代码如下,用于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[
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]))
}
}
data1当函数(d4==min(d4[-i])
不提供匹配项时,您会出现此错误
试着这样做:
ifelse((sum(d4==min(d4[-i])==0)), NA, which(d4==min(d4[-i])))
使用
dput()
提供您的数据集样本,以便我们重现您的错误。虽然您的which语句的内容很可能计算为integer(0)
,这意味着没有任何情况。>dput()中的dput()错误:参数“x”丢失,没有默认值。您的这条评论是一个笑话吗?@Asha:当有人建议您使用一个您不了解的函数时。。。首先阅读它的帮助页面(?dput
),注意在示例中,它从来没有在没有参数的情况下使用过。没有办法解决这个问题吗?我需要从计算出的答案中找出平均值,然后绘制提供的数据。我添加了一个可能的解决方案,对于详细的解决方案,请提供一个数据示例1
ifelse((sum(d4==min(d4[-i])==0)), NA, which(d4==min(d4[-i])))