Я пытаюсь заполнить матрицу через цикл. Задан вектор значений и пустая матрица;
n <- c(seq(10,100,10))
out <- matrix(ncol=1, nrow=length(n))
запуск этого простого цикла в качестве примера;
for(i in n){
dostuff <- i*2
out[i,1] <- dostuff
}
выдает сообщение об ошибке
Error in
[<- <code>( TMP , i, 1, value = dostuff) : subscript out of bounds
, поскольку интервал в векторе, на котором основан цикл, больше 1 и поэтому не соответствует индексу 1:10 строк матрицы. Удаление i
из индекса строки out
повторяет только результат последней итерации:
for(i in n){
dostuff <- i*2
out[,1] <- dostuff
}
Очевидно, что в петлях есть нечто фундаментальное, чего я не понимаю. Я посмотрел, например, здесь и здесь , но не смогли найти хорошего решения. Вот результат, который я ищу:
[,1]
[1,] 20
[2,] 40
[3,] 60
[4,] 80
[5,] 100
[6,] 120
[7,] 140
[8,] 160
[9,] 180
[10,] 200