繁体   English   中英

R循环错误:下标超出范围

[英]R loop error: subscript out of bounds

我试图做一个循环来探索模型组合。 因此,我正在执行以下操作:

# k=ncol(tmp1)-1
k = 5  ## example k without knowing "tmp1"

#number of models
M=2^k
#a matrix to store indicators/switch for predictors. Need two loops to do this (for loops)
incl_pred<-matrix(0,M,4)
tmpm=M
i=1
for(i in 1:k){
  tmpm=tmpm/(2)
  incl_pred[1:tmpm,i]=1
}
for(i in 2:k){
  tmpm=M
  for(j in i:k){
    incl_pred[((tmpm/2)+1):tmpm,j]=incl_pred[1:(tmpm/2),j]
    tmpm=tmpm/2
  }
}

但这给了我两个错误:

[<-*tmp* ,1:tmpm,i,value = 1)中的错误:下标超出范围

incl_pred [1:(tmpm / 2),j]中的错误:下标超出范围。

你能帮我解决吗?

谢谢!

您应该设置:

incl_pred<-matrix(0,M,k)

因为你的内循环:

  for(j in i:k){
     incl_pred[((tmpm/2)+1):tmpm,j]=incl_pred[1:(tmpm/2),j]

正在访问incl_pred k列。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM