Я моделирую количество событий из распределения Пуассона (с параметром 9). Для каждого события я моделирую цену события, используя логнормальное распределение с параметрами 2 и 1.1
Я выполняю 100 симуляций (каждая симуляция представляет год). Код (которым я доволен):
simul <- list()
for(i in 1:100) {simul[[i]] <- rlnorm (rpois(1, 9), meanlog = 2, sdlog = 1.1) }
Моя проблема в том, что вывод "simul" представляет собой список списков, и я не знаю, как применить к нему операции basi c ,
Я хочу иметь возможность: 1. ограничить каждое отдельное смоделированное значение (из-за бюджетных ограничений) 2. получить сумму всех смоделированных значений отдельно для каждого года (с ограничением и без него) 3. получить среднее значение для каждого отдельного года (с ограничением и без него) 4. рассчитать 95-й процентиль для каждого года (с ограничением и без) 5. вывести результаты в информационный кадр (так, чтобы один столбец представлял общее, один средний, один процентиль et c) и каждая строка представляет год
Что-то, что работает, это то, что я вытаскиваю отдельные списки:
sim1 <- simul[1]
Теперь я могу использовать "unlist", чтобы сгладить перечислите и примените любые операции, которые я хочу.
sims1 <- data.frame(unlist(sim1), nrow=length(sim1), byrow=F)
sims1 <- subset(sims1, select = c(unlist.sim1.))
colnames(sims1) <- "sim1"
quantile <- data.frame(quantile(sims1$sim1, probs = c(0.95)))
Но я не хочу записывать вышеуказанные логи c 100 раз для каждого подсписка в списке ... есть ли способ обойти это?
Любая помощь по этому вопросу будет принята с благодарностью.