У меня есть код для вложенных циклов здесь. Вывод, который я хотел бы получить, представляет собой матрицу средних значений столбцов матрицы, создаваемой вложенным циклом. Таким образом, внутренний цикл должен выполнить 1000 имитаций случайного вектора и запускать функцию каждый раз. Это прекрасно работает само по себе и распределяет вывод в R. Но я хочу сохранить вывод из вложенного цикла в объект (матрица из 1000 строк и 11 столбцов), а затем распечатать только colMeans этой матрицы, чтобы исполняться внешним циклом.
Я думаю, что проблема заключается в шаге, где я присваиваю результаты внутреннего цикла матрице obj. Я пробовал все варианты obj [i,], obj [i], obj [[i]] и т. Д., Но безуспешно. R говорит мне, что это объект только одного измерения.
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
}
Есть идеи, как это можно исправить?