Создавать наборы данных по l oop в R - PullRequest
0 голосов
/ 07 мая 2020

Я пытаюсь узнать, как сделать al oop в R

У меня есть это:

sigma2 <- 0.4
a0 <- -0.1260805
b <- 0.1260805
tt <- 1:50, 1:50

z <- rnorm(50, 0, sigma2)
y <- rep(1, 50)
for(i in 1:50){
  y[i]=exp(a0 + b*tt[i])*exp(z[i])
}

y

, и я хочу протестировать код выше 1000 раз, так как я хочу проверить гипотезу на уровне 0,05

могу ли я испытать это, и мне кажется, что это не так:

aa <- rep(1, 1000)
for(i in 1:1000){
  y[i]=exp(a0 + b1*tt[i])*exp(z[i])
}

Спасибо за помощь!

1 Ответ

0 голосов
/ 07 мая 2020

Думаю, это то, что вы хотите (или, по крайней мере, ближе):

# re-write original code with vectorization:

n <- 50
sigma2 <- 0.4
a0 <- -0.1260805
b <- 0.1260805
tt <- 1:n

z <- rnorm(n, 0, sigma2)
y <- exp(a0 + b*tt)*exp(z)

# do it 20 times
result <- replicate(20, exp(a0 + b*tt)*exp(rnorm(n, 0, sigma2)))

result - это матрица 50x20 - один столбец на повторение.

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