Вся строка матрицы принимает только последнее значение из 3 чисел c значений - PullRequest
0 голосов
/ 30 марта 2020

Я пытаюсь заблокировать выборку моделируемого набора данных, где есть 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,].

Есть ли способ обойти эту проблему? Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...