2016-06-25 19 views
0

Ich versuche eine Schleife zu machen, um die Modellkombinationen zu erkunden. Also, ich tue das folgende:R loop error: Tiefgestellt außerhalb der Grenzen

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

Aber es gibt mir zwei Fehler:

Error in [<- (*tmp* , 1:tmpm, i, value = 1) : subscript out of bounds

und

Error in incl_pred[1:(tmpm/2), j] : subscript out of bounds.

Können Sie mir helfen, es zu beheben?

danke!

Antwort

0

sollten Sie setzen:

incl_pred<-matrix(0,M,k) 

weil Ihre innere Schleife:

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

zugreift bis zu k Spalten von incl_pred.

Verwandte Themen