使两个不同直方图的bin大小相等的一般方法

时间:2017-01-13 13:47:38

标签: r histogram

我想制作两个直方图,其中包含来自相同总体的两种类型的数据。一种类型的数据具有比另一种更宽的范围,因此特定的直方图具有更少的频率,其频率高于另一种。是否有一般方法使两个直方图的bin大小相同?

n=377 #just a number
df <- data.frame(v.1=sample(2:10,n, replace =T),v.2=sample(30:130,n,replace = T))
H.1 <- hist(df$v.1)
H.2 <- hist(df$v.2,ylim=c(0,max(H.1$counts)))
str(H.1)
str(H.2)

1 个答案:

答案 0 :(得分:2)

breaks参数设置为向量。你可以准确地控制箱子尺寸。

来自?hist

breaks: one of:

        • a vector giving the breakpoints between histogram cells,

您可以将breaks=seq(1,11,2)用于v.1,将breaks=seq(29,131,2)用于v.2,因此两者的bin大小均为2

但是,请注意休息范围。它必须涵盖您的数据范围。例如,如果您执行breaks=seq(1,11,4)breaks=seq(29,131,4),则可能会遇到麻烦。 seq(1,11,4)是1,5,9,不包括10.所以你可能需要seq(1,13,4);同样地,seq(29,133,4)