ggplot2 facet_wrap-直方图正在错误地绘制数据

时间:2017-04-19 16:07:49

标签: r ggplot2 histogram

我有一个非常大的数据集,我试图使用ggplot2中的facet_wrap在直方图中绘制它;在根据ggplot2创建的图检查原始数据之后,我意识到尽管该图似乎具有正确数量的数据点,但它们并不对应于应该在每个bin中的数据点的数量,根据我的数据集 - 为了验证这一点,我在excel中绘制了这个图的直方图,它确实看起来不同。 我不知道我做错了什么,我为轴和不同的宽度尝试了很多不同的代码。

这是代码

p1 <-ggplot(imp, aes(aindex)) + geom_histogram(binwidth = 0.1, color=("black"), fill = "transparent"  ) + 
  facet_wrap(~description, dir = "h", nrow = 3, scales = "fixed") +

  theme(axis.line.x = element_line(colour = "black", size = 0.05),
        axis.line.y = element_line(colour = "black", size= 0.05)) +

  scale_y_continuous(expand=c(0,0),limits = c(0,10), breaks = seq(0,10,1)) +

  theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(),
        panel.background = element_blank(), axis.line = element_line(colour = "black"), 
        axis.text = element_text(colour = "black")) + xlab("Activity index impact") +

  ylab("Count") + theme(strip.text = element_text(size = 7), axis.text = element_text(size = 7))

p1

这段代码给了我这个图,如果我们参考第一个图,标题为01. SSN12,n = 16,与右边的图表相比,看看数据应该是什么样子,绑定宽度为0.1

有人知道我做错了吗?

我已将原始数据添加到共享的收件箱文件夹

link to imp data

incorrect plot (ggplot2, left) and correct (excel, right)

1 个答案:

答案 0 :(得分:0)

我认为您可以通过添加附加参数center=0.05来重现Excel的分箱行为,但我不能说这是否正确:

geom_histogram(center = 0.05, binwidth = 0.1, color = ("black"), fill = "transparent"  )