我对hist()函数感到疯狂。我有一个数据集如下:
table(data)
0 1 2 3 4 5 7 8
85 7 3 4 6 1 2 1
所以我希望hist(data, labels=TRUE)
返回一个包含9个二进制位的直方图,一个用于零,一个用于等等,并且每个bin都有一个值。但它汇总了0和1,在谷歌搜索一天后,我仍然无法弄清楚如何解决它。我也尝试声明像hist(data, breaks=c(0,8))
这样的箱子数量,但没有。
作为替代方案,我尝试了histogram
lattice
包的hist()
,它运行正常...但我无法弄清楚如何显示每个bin的值...
你可以用任何一种方式帮助我(histogram()
的列数是否合适,或者{{1}}显示的是哪个列?)?
非常感谢。
答案 0 :(得分:5)
hist(...)
默认使用右关闭时间间隔。您可以使用right=...
参数更改此内容。
x <- c(0, 1, 2, 3, 4, 5, 7, 8)
y <- c(85, 7, 3, 4, 6, 1, 2, 1)
z <- rep(x,times=y)
par(mfrow=c(1,2))
hist(z,right=T, main="Right closed")
hist(z,right=F, main="Left Closed")
这是ggplot
中的等价物,IMO更清晰一些。
library(ggplot2)
ggplot(data.frame(z), aes(x=factor(z))) +
geom_histogram(fill="lightgreen", color="grey50")