簡體   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