在R的相同图上组合两个直方图

时间:2015-03-14 15:27:51

标签: r statistics histogram cbind

我想画一个直方图来比较同一个图上的两个数据集。矢量的长度是不同的。 d1有180个数字,d2有300个数字。我尝试了下面的代码作为例子。

d1<-c(5.18,4.61,3.30,7.58,3.00,3.80,1.95,2.67,2.77,2.73,2.33,3.36,3.50,1.91,4.25,3.87,2.86,2.26,2.00,3.86,3.33,3.59,4.00,2.25,2.44,2.33,3.22,4.42)
d2<-c(2.1,2.1,2.6,2,3.6,2,2.7,1.8,3.1,3.9,3.8,2.6,1.9,2.6,2.1,3.9)
names(d1)<-1:28
names(d2)<-1:15
barplot(t(cbind(d1, d2)), beside=T, col=c("black","red"), border=F)
barplot(t(cbind(d1/sum(d1)*100, d2/sum(d2)*100)), 
    beside=T, col=c("black","red"), border=F)

我不知道这种方法是否正确。 x轴应为垃圾箱。 y轴应为频率百分比。您的建议将不胜感激!!

例如,我想获得如下所示的情节

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以添加到第二个&#34; barplot&#34;函数参数&#34; add = T&#34;:

barplot(t(cbind(d1/sum(d1)*100, d2/sum(d2)*100)), beside=T, col=c("black","red"), border=F, add=T)

这将使两个直方图在同一个数字上,甚至共享相同的x轴。