我在R中同时使用了geom_hist和直方图,具有相同的断点,但得到了不同的图形。我做了一个快速的搜索,有人知道什么是定义中断以及它们为什么会有所不同吗?
这就产生了两个不同的情节。
set.seed(25)
data <- data.frame(Mos=rnorm(500, mean = 25, sd = 8))
data$Mos<-round(data$Mos)
pAge <- ggplot(data, aes(x=Mos))
pAge + geom_histogram(breaks=seq(0, 50, by = 2))

hist(data$Mos,breaks=seq(0, 50, by = 2))

谢谢
发布于 2015-08-21 22:26:36
要在ggplot2中获得相同的直方图,您可以在scale_x_continuous中指定breaks,在geom_histogram中指定binwidth。
此外,hist和ggplot2中的直方图使用不同的默认值来创建间隔:
hist:右闭(左开)间隔.默认值:right = TRUEstat_bin(ggplot2):左闭(右开)间隔.默认值:right = FALSE
**hist** **ggplot2**
freq1 Freq freq2 Freq
1 (0,2] 0 [0,2) 0
2 (2,4] 2 [2,4) 2
3 (4,6] 2 [4,6) 1
4 (6,8] 1 [6,8) 2
5 (8,10] 6 [8,10) 2
6 (10,12] 9 [10,12) 7
7 (12,14] 24 [12,14) 17
8 (14,16] 27 [14,16) 26
9 (16,18] 39 [16,18) 31
10 (18,20] 48 [18,20) 46
11 (20,22] 52 [20,22) 43
12 (22,24] 38 [22,24) 57
13 (24,26] 44 [24,26) 36
14 (26,28] 46 [26,28) 52
15 (28,30] 39 [28,30) 39
16 (30,32] 31 [30,32) 33
17 (32,34] 30 [32,34) 26
18 (34,36] 24 [34,36) 29
19 (36,38] 18 [36,38) 27
20 (38,40] 9 [38,40) 12
21 (40,42] 5 [40,42) 6
22 (42,44] 4 [42,44) 0
23 (44,46] 1 [44,46) 5
24 (46,48] 1 [46,48) 0
25 (48,50] 0 [48,50) 1
我包括了参数right = FALSE,所以直方图的间隔是左关闭的(右打开),就像它们在ggplot2中一样。我在两幅图中添加了标签,所以更容易检查间隔是否相同。
ggplot(data, aes(x = Mos))+
geom_histogram(binwidth = 2, colour = "black", fill = "white")+
scale_x_continuous(breaks = seq(0, 50, by = 2))+
stat_bin(binwidth = 2, aes(label=..count..), vjust=-0.5, geom = "text")

hist(data$Mos,breaks=seq(0, 50, by = 2), labels =TRUE, right =FALSE)

要检查每个垃圾箱的频率:
freq <- cut(data$Mos, breaks = seq(0, 50, by = 2), dig.lab = 4, right = FALSE)
as.data.frame(table(frecuencias))https://stackoverflow.com/questions/32102608
复制相似问题