В дополнение к моему комментарию выше, это то, что я бы сделал (я полагаю, adf.test
от tseries
)
set.seed(2018)
library(tseries)
adf_list <- replicate(10, adf.test(
arima.sim(
model = list(ar = c(1.587, -0.6914), ma = c(-1.525, 0.7327)),
sd = sqrt(0.03204),
n = 50))$statistic,
simplify = F)
adf_list
#[[1]]
#Dickey-Fuller
# -2.972603
#
#[[2]]
#Dickey-Fuller
# -2.317256
#
#[[3]]
#Dickey-Fuller
# -3.235755
#
#[[4]]
#Dickey-Fuller
# -3.89434
#
#[[5]]
#Dickey-Fuller
# -1.897195
#
#[[6]]
#Dickey-Fuller
# -3.15147
#
#[[7]]
#Dickey-Fuller
# -2.723526
#
#[[8]]
#Dickey-Fuller
# -2.07447
#
#[[9]]
#Dickey-Fuller
# -2.193647
#
#[[10]]
#Dickey-Fuller
# -2.197571
Как видите, replicate(n, expr, simplify = F)
неоднократно оценивает expr
n
раз и сохраняет результаты в list
.Нет необходимости вручную увеличивать / добавлять list
.
Если вы предпочитаете массив, вы можете удалить simplify = F
(или установить simplify = T
, который является значением по умолчанию).
Обновить
Чтобы показать гистограммуВы могли бы сделать что-то вроде этого (я увеличил количество симуляций до 100 и использую ggplot2
для построения графика)
library(tidyverse)
set.seed(2018)
replicate(100, adf.test(
arima.sim(
model = list(ar = c(1.587, -0.6914), ma = c(-1.525, 0.7327)),
sd = sqrt(0.03204),
n = 50))$statistic) %>%
data.frame(B = .) %>%
ggplot(aes(B)) +
geom_histogram(bins = 40)