修改现有代码以将geom_count插入ggplot

时间:2019-01-13 18:46:44

标签: r ggplot2

我发现这个很酷的代码示例在结尾处有一个很大的情节。不幸的是,如果有太多的观察,它看起来不会太好。因此,我尝试使用geom_count为每个观察值设置点的格式,并使它们更紧凑。 但是,仅添加+ geom_count并不能解决问题。我收到错误消息:

  

错误:stat_sum需要以下美感:y

如何修改ggplot以合并点?

链接到原始代码:https://osf.io/bc3jz/

链接到数据:https://osf.io/ftnb2/download

    master = read.csv("binary log.csv")

model = glm(WORKSTAT ~ CHILDREN + RACE + CONTROL +
              ATTMAR + ATTROLE + SEL + ATTHOUSE +
              AGE + EDUC,
       family = binomial(link = 'logit'),
       data = master)

correct = model$fitted.values

##a cool dot plot
library(ggplot2)
theme = theme(panel.grid.major = element_blank(), 
              panel.grid.minor = element_blank(), 
              panel.background = element_blank(),
              axis.text.y=element_blank(),
              axis.ticks=element_blank(),
              axis.line.x = element_line(color = "black"),
              axis.line.y = element_line(color = "black"),
              text = element_text(size=20), 
              legend.key = element_blank())

hist = ggplot(master, aes(correct, color = WORKSTAT, fill = WORKSTAT))
hist +
  theme +
  geom_dotplot(binwidth = .01, position = "jitter") +
  coord_cartesian(xlim = c(0,1)) +
  xlab("All Predictors in Model") +
  ylab("Frequency") +
  scale_color_manual(values = c("Maroon", "#2C3539"),
                     labels = c("Not Working", "Working"),
                     name = "Working Category")+
  scale_fill_manual(values = c("Maroon", "#2C3539"),
                    labels = c("Not Working", "Working"),
                    name = "Working Category") + 
  geom_vline(xintercept=c(.50), linetype="dotdash", size = 1)

编辑: 问题是,我的观察太多,无法正确显示它们。 enter image description here

1 个答案:

答案 0 :(得分:0)

您正在寻找geom_histogram吗? 例如。像这样:

geom_histogram(position = "identity", alpha = .6)

以此替换geom_dotplot确实会导致直方图“漂浮”在x轴上方。您可以通过添加scale_y_continuous(expand = c(0, 0))

来解决