使用geom_point对估计进行分组和错开估计

时间:2018-03-26 02:30:33

标签: r ggplot2

我有两个"主要"估计groupcent_ratinggrandcent_rating,我希望将它们与模型估计一起绘制,模型估计由个人的R-EM状态分层。

help.a <- data.frame(variable = as.factor(c("grandcent_rating", "groupcent_rating", "rem_grand", "rem_group", "white_grand", "white_group")),
                     lower = c(-17.1, -3.7, -25.6, -8, -19.6, -3.5),
                     b = c(-2.3, -0.8, 0.2, -2.4, -3.2, -0.2),
                     upper = c(12.2, 1.9, 25.8, 3.1, 12.9, 2.9), 
                     type = c("total", "total", "rem", "rem", "white", "white"))

使用上面的示例代码,我可以创建以下图:

ggplot(help.a, aes(x = variable, y = b))+
  geom_pointrange(aes(ymin=lower,ymax=upper)) + 
  coord_flip()

enter image description here

但是,我希望在y轴上只有两个变量(在coord_flip之后)groupcent_ratinggrandcent_rating,然后将白色和R-EM估计交错(可能是抖动?)围绕这些估计,但白色和REM的颜色不同。

我的尝试是在美学中使用颜色,但这只会改变颜色。我无法弄清楚如何通过groupcent_ratinggrancent_rating估算来抖动或抵消这些白色和REM估算值。

ggplot(help.a, aes(x = variable, y = b, color = type))+
  geom_pointrange(aes(ymin=lower,ymax=upper)) + 
  coord_flip()

1 个答案:

答案 0 :(得分:1)

也许是这样的?

library(stringr)
help.a$y = str_extract(help.a$variable, "grand|group")

ggplot(help.a, aes(x = y, y = b)) +
    geom_pointrange(aes(ymin = lower, ymax = upper, color = type),
                    position = position_dodge(width = 0.2)) +
    coord_flip()

enter image description here