【发布时间】:2021-12-24 02:47:59
【问题描述】:
我目前正在处理 30 个具有相同列名但数值数据不同的数据集。我需要将线性混合模型和广义线性模型应用于数据集的每个实例,并将生成的固定效应系数绘制在森林图上。
数据目前的结构如下(为简单起见,对每个列表元素使用相同的数据集):
library(lme4)
data_list <- list()
# There's definitely a better way of doing this through lapply(), I just can't figure out how
for (i in 1:30){
data_list[[i]] <- tibble::as_tibble(mtcars) # this would originally load different data at every instance
}
compute_model_lmm <- function(data){
lmer("mpg ~ hp + disp + drat + (1|cyl)", data = data)
}
result_list_lmm <- lapply(data_list, compute_model_lmm)
我现在正在做的是
library(modelsummary)
modelplot(result_list_lmm)+
facet_wrap(~model) #modelplot() takes arguments/functions from ggplot2
这需要很长时间,但它确实有效。
现在,我想在同一个地块上比较另一个模型,如
compute_model_glm <- function(data){
glm("mpg ~ hp + disp + drat + cyl", data = data)
}
result_list_glm <- lapply(data_list, compute_model_glm)
modelplot(list(result_list_lmm[[1]], result_list_glm[[1]]))
但对于情节的每个实例。
如何将其指定为modelplot()?
提前致谢!
【问题讨论】:
-
您能否澄清一下“我想在同一个地块上比较另一个模型但具有网格结构”的意思?我不清楚最终的情节应该是什么样子。
-
对不起,如果不清楚,希望现在更好
-
还是不确定。你想要一个像我下面答案中的情节吗?
-
是的,我就是这个意思
-
好的,太好了!如果它满足您的需要,请接受该答案,或者解释为什么它仍然不充分。
标签: r ggplot2 facet-wrap forestplot modelsummary