在 ggplot2 中绘制混合效果输出的随机部分
Plot the random parts of the mixed effect output in ggplot2
我有 运行 lmer 的模型
library(lmer)
mymodel<- glmer(wrimm ~ 1+itr+(1+itr|GE_state), data=dt_n, family = binomial(link="logit"),control=glmercontrol(optimizer="bobyqa"),nAGQ=0)
并使用点图可视化随机效应(包括截距和斜率)
re<-ranef(mymodel, which="GE_state", conVar=TRUE)
lattice::dotplot(re, scales = list(x =list(relation = 'free')))
并获得这个数字
但是,点阵图对于美学的作用有限。如果有人能告诉我如何通过 ggplot2 制作相同的图(“森林图”,具有随机效应系数及其置信区间),我将不胜感激。
感谢您帮助初学者。
我认为我们需要更多关于 data.frame 的信息,该 data.frame 使用 ranef 的随机效应估计及其布局,然后它应该是可行的
- 在 ggplot2 中使用 geom_point() 构建点图,使用 geom_errorbars() 或 geom_errorbarsh()
构建误差线
- 通过一个变量对其进行分面,为该变量的每个值获取一个面板
此页面中的示例展示了如何在 ggplot 2 中绘制作为 lattice::dotplot 的输出:
https://rdrr.io/cran/lme4/man/ranef.html
fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy)
ranef(fm1)
str(rr1 <- ranef(fm1))
## as.data.frame() provides RE's and conditional standard deviations:
str(dd <- as.data.frame(rr1))
if (require(ggplot2)) {
ggplot(dd, aes(y=grp,x=condval)) +
geom_point() + facet_wrap(~term,scales="free_x") +
geom_errorbarh(aes(xmin=condval -2*condsd,
xmax=condval +2*condsd), height=0)
我有 运行 lmer 的模型
library(lmer)
mymodel<- glmer(wrimm ~ 1+itr+(1+itr|GE_state), data=dt_n, family = binomial(link="logit"),control=glmercontrol(optimizer="bobyqa"),nAGQ=0)
并使用点图可视化随机效应(包括截距和斜率)
re<-ranef(mymodel, which="GE_state", conVar=TRUE)
lattice::dotplot(re, scales = list(x =list(relation = 'free')))
并获得这个数字
但是,点阵图对于美学的作用有限。如果有人能告诉我如何通过 ggplot2 制作相同的图(“森林图”,具有随机效应系数及其置信区间),我将不胜感激。
感谢您帮助初学者。
我认为我们需要更多关于 data.frame 的信息,该 data.frame 使用 ranef 的随机效应估计及其布局,然后它应该是可行的
- 在 ggplot2 中使用 geom_point() 构建点图,使用 geom_errorbars() 或 geom_errorbarsh() 构建误差线
- 通过一个变量对其进行分面,为该变量的每个值获取一个面板
此页面中的示例展示了如何在 ggplot 2 中绘制作为 lattice::dotplot 的输出: https://rdrr.io/cran/lme4/man/ranef.html
fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy)
ranef(fm1)
str(rr1 <- ranef(fm1))
## as.data.frame() provides RE's and conditional standard deviations:
str(dd <- as.data.frame(rr1))
if (require(ggplot2)) {
ggplot(dd, aes(y=grp,x=condval)) +
geom_point() + facet_wrap(~term,scales="free_x") +
geom_errorbarh(aes(xmin=condval -2*condsd,
xmax=condval +2*condsd), height=0)