【问题标题】:R loop error: subscript out of boundsR循环错误:下标超出范围
【发布时间】:2016-06-25 00:22:31
【问题描述】:

我正在尝试创建一个循环来探索模型组合。所以,我正在做以下事情:

# 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
  }
}

但它给了我两个错误:

[&lt;-(*tmp*, 1:tmpm, i, value = 1) 中的错误:下标越界

incl_pred[1:(tmpm/2), j] 中的错误:下标越界。

你能帮我解决一下吗?

谢谢!

【问题讨论】:

    标签: r loops


    【解决方案1】:

    你应该设置:

    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 列。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-12
      • 2021-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多