Не уверен, что это то, что нам нужно (в base R
)
do.call(rbind, lapply(c(-0.8, -0.4, -0.3),
function(x) data.frame(alpha = x, model(x, 1000, 1000))))
# alpha Confidence.Interval Width
#1 -0.8 -0.03474170 0.0006172874
#2 -0.8 0.03412441 0.0006172874
#3 -0.4 -0.04439685 0.0002515509
#4 -0.4 0.04414530 0.0002515509
#5 -0.3 -0.04777081 0.0001885317
#6 -0.3 0.04758228 0.0001885317
Если нам нужны верхняя и нижняя границы в виде столбцов
do.call(rbind, lapply(c(-0.8, -0.4, -0.3), function(x) {
out <- model(x, 1000, 100)
data.frame(alpha = x, lower_bound = out$`Confidence Interval`[1],
upper_bound = out$`Confidence Interval`[2], Width = out$Width)}))
# alpha lower_bound upper_bound Width
#1 -0.8 -0.03163379 0.03723232 0.005598532
#2 -0.4 -0.04186212 0.04668002 0.004817898
#3 -0.3 -0.04833423 0.04701885 0.001315380
Или с tidyverse
library(dplyr)
library(purrr)
tibble(alpha = c(-0.8, -0.4, -0.3),
out = map(alpha, model, n = 1000, m = 1000)) %>%
unnest_wider(c(out)) %>%
unnest_longer(c(`Confidence Interval`))