当我调用我的功能时它显示NA?
虽然,当我发送不同的参数时,它可以工作。所以我的问题是,对于每次通话,有多少结果应该是一两次,为什么有时候我会得到NA。
这是我的代码:
trsp<-function(x,p,tr,mlo,mhi)
{
mm<-seq(mlo, mhi, length =101)
w<-double(length (mm))
for (k in 1:101)
{
xmm<-sort(abs((x-mm[k]))^p)
w[k]<-sum(xmm[c(1:ceiling(tr*length(x)))])
}
mmw<-cbind(mm, w)
plot(mmw)
mmw[w<-min(w)]
}
dta<-rcauchy(23)
trsp(dta,1,1,0,1)
trsp(dta,2,1,0,1)
trsp(dta,1,0.6,0,1)
trsp(dta,2,0.6,0,1)
trsp(dta,0.5,0.6,0,1)
答案 0 :(得分:1)
让我一步一步回答这个问题。
1)每次通话的结果应该是一两个?嗯,每次通话只会显示一个结果。原因在于,当我们cbind两个向量时,我们得到一个矩阵作为输出。在矩阵中,如果我们使用一个下标而不是两个下标,则输出类似于将矩阵转换为矢量并访问矢量元素后的输出。
2)为什么有时候我会得到NA?:据我所知,NA可能出现在w(等于min(w))的值增加2 * length(x)的情况下,其中x是在功能。