ここにはforループのコードがあります。私が受け取りたい出力は、ネストされたループによって生成された行列の列の平均の行列です。したがって、内部ループは無作為化ベクトルの1000回のシミュレーションを実行し、毎回関数を実行する必要があります。これは単独でうまく動作し、出力をRに吐き出しますが、ネストしたループの出力をオブジェクト(1000行と11列の行列)に保存し、その行列のcolMeansのみを出力します。外側ループによって実行される。二重forループからのオブジェクトの印刷R
私は問題が私がobj行列に内部ループの結果を割り当てるステップにあると思う。私はobj [i、]、obj [i]、obj [[i]]などのすべてのバリエーションを成功裏に試しました。 Rはそれが1つの次元だけのオブジェクトであると私に伝えます。
x=ACexp
obj=matrix(nrow=1000,ncol=11,byrow=T) #create an empty matrix to dump results into
for(i in 1:ncol(x)){ #nested for loops
a=rep(1,times=i) #repeat 1 for 1:# columns in x
b=rep(0,times=(ncol(x)-length(a))) #have the rest of the vector be 0
Inv=append(a,b) #append these two for the Inv vector
for (i in 1:1000){ #run this vector through the simulations
Inv2=sample(Inv,replace=FALSE) #randomize interactions
temp2=rbind(x,Inv2)
obj[i]<-property(temp2) #print results to obj matrix
}
print.table(colMeans(obj)) #get colMeans and print to excel file
}
これはどのように修正できますか?