如何在plot_summs绘制的lm模型系数图中添加系数估计数值?
给plot_summs()绘制的系数图添加系数估计值
方法1:利用jtools包自带参数直接显示
plot_summs()(来自jtools包)本身支持通过show_values参数直接在图上显示系数估计值,还能通过value_args调整文本样式:
states <- as.data.frame(state.x77) fit1 <- lm(Income ~ Frost + Illiteracy + Murder + Population + Area + `Life Exp` + `HS Grad`, data = states, weights = runif(50, 0.1, 3)) plot_summs(fit1, coefs = c("Frost Days" = "Frost", "% Illiterate" = "Illiteracy"), scale = TRUE, show_values = TRUE, value_args = list(size = 4, vjust = -0.5)) # vjust调整垂直位置避免和误差条重叠
方法2:结合ggplot的geom_text手动添加
如果需要更灵活的自定义,可以先将plot_summs()返回的ggplot对象保存,再提取绘图数据添加文本:
states <- as.data.frame(state.x77) fit1 <- lm(Income ~ Frost + Illiteracy + Murder + Population + Area + `Life Exp` + `HS Grad`, data = states, weights = runif(50, 0.1, 3)) # 生成基础系数图并保存为ggplot对象 p <- plot_summs(fit1, coefs = c("Frost Days" = "Frost", "% Illiterate" = "Illiteracy"), scale = TRUE) # 提取绘图数据中的目标变量系数信息 plot_data <- p$data[p$data$term %in% c("Frost Days", "% Illiterate"), ] # 添加系数文本,sprintf控制小数位数 p + geom_text(aes(label = sprintf("%.3f", estimate)), vjust = -0.5, size = 4)
内容的提问来源于stack exchange,提问作者m45ha
相关产品推荐
相关产品推荐

