Я пытаюсь заблокировать выборку моделируемого набора данных, где есть 100 значений, и помещаю блоки в матрицу 98x3 , где каждая строка соответствует блоку. Мой код выглядит так:
e <- rnorm(100, mean=0, sd=1)
Y <- rnorm(100)
Y[1] = 1 + e[1]
Y[2] = 1 + 0.5*Y[1] + e[2] - 0.5*e[1]
Y[3] = 1 + 0.5*Y[2] + e[3] - 0.5*e[2] - 0.25*e[1]
for(i in 4:100){
Y[i] <- 1 + 0.5*Y[i-1] + e[i] - 0.5*e[i-1] - 0.25*e[i-2]
}
B <- matrix(data = 0, nrow = 98, ncol = 3)
for(a in 1:98){
B[a,] <- Y[a:a+2]
}
Я сделал это так, поскольку без l oop, **B[1,] <- Y[1:3]**
работает для замены строки матрицы.
Однако после запуска код, каждая строка B - это те же три числа, которые равны Y[a+2]
для соответствующей строки, B[a,]
.
Есть ли способ обойти эту проблему? Заранее спасибо.