【发布时间】:2019-02-26 22:02:31
【问题描述】:
我希望获得 R 中多个模型的 95% 和 90% 置信区间以及均值。
数据
data <- data.frame(occup = c(2,3,5,4,2,2,6,1,2,0),
unoccup = c(1,2,0,3,0,4,1,1,2,2),
month = c("feb", "feb", "feb", "feb", "feb", "mar", "mar", "mar", "mar", "mar"))
我有这个功能
binomNLL_ratio = function(p, k, N) {
-sum(dbinom(k, prob = p, size = N, log=TRUE))
}
所需的库
library(purrr)
library(bbmle)
运行脚本
data %>%
split(.$month) %>% map(~mle2(minuslog = binomNLL_ratio, start = list(p = 0.5), data = list(N = .$occup + .$unoccup, k = .$occup))) %>%
map(confint, level = 0.95)
这很好地给了我每个月的 95% 置信区间。我还可以将0.95 替换为0.9 以获得90% CI,或者将map(confint) 替换为map(coef) 以获得每个月模型的平均值。
不过,理想情况下,我希望在同一数据框中获得每个模型的 95% CI、90% CI 和均值。如何传递多个函数和参数以获得我想要的结果?
感谢您的帮助。
【问题讨论】: