如何将这两个向量中的值密度作为两个直方图同时绘制:
interactors1 = c(-6.4, -3.7, -7.7, -4.6, -2.0, -5.5, -3.3, -5.8, -5.0, -4.5,
3.2, -0.1, -3.0, -9.2, -3.1, -8.5, -5.4, -9.1, -7.7, 2.2,
1.7, 3.4, -8.6, -0.5, -8.1)和
noninteractors1 = c(-1, 0.1, 2.7, 0.4, 4.3)在你问我之前,是的,我查过this post
我想用ggplot而不是hist,因为这些情节看起来好多了。当我将数据融合到一个数据框架中,然后用图表来计算,一切都很好--我得到了这个。
interactors=data.frame(interactors1,noninteractors1)
ggplot(melt(interactors), aes(value, fill = variable))
+ geom_histogram(position = "dodge")然而,我不需要计数,我需要密度。
当我这么做
ggplot(melt(interactors), aes(value, fill = variable))
+ geom_histogram(aes(y=..density..),position = "dodge")我得到一个陈词滥调的结果。这不可能是正确的,因为密度*垃圾箱的总和超过1。我做错了什么?任何帮助都将不胜感激。
P.S.我试着贴出这些情节,但它不让我.
发布于 2014-06-30 13:51:52
尝尝这个
data=(melt(interactors))
ggplot(data, aes(x=value, fill=variable)) + geom_histogram(aes(y=..density..), binwidth = 1)发布于 2015-07-06 21:54:44
如果不想设置binwidth = 1,则可以将y值乘以binwidth。例如:
M+geom_histogram(二进制宽度= 0.5,aes(y =(..density.)*0.5))
这使您可以改变绑定宽度和创建频率直方图与适当的比例。
发布于 2014-07-02 14:54:34
感谢雅普和菲利普的答复,非常感谢。我在谷歌上找到了我要找的东西,但也会在这里发布--越多信息越好。
为了使密度之和等于1,必须指定binwidth=1 (谢谢Jaap)。当垃圾箱不等于1时,密度之和不等于1。相反,密度*宾宽的乘积之和等于1。当binwidth=1时,每个矩形的高度(密度)等于变量具有value=x的概率。当二进制宽度!=1时,其概率等于矩形的面积,即矩形的密度*宽度/ bin/的大小。
为大家干杯。:)
https://stackoverflow.com/questions/24491023
复制相似问题