我正在尝试制作一个循环来探索模型组合。所以,我正在做以下事情:
# 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]:下标超出范围时出错。
你能帮我解决一下吗?
谢谢你!答案 0 :(得分:0)
你应该设置:
incl_pred<-matrix(0,M,k)
因为你的内循环:
for(j in i:k){
incl_pred[((tmpm/2)+1):tmpm,j]=incl_pred[1:(tmpm/2),j]
最多可访问k
的{{1}}列。