R的hist函数如何进行右/左聚集分箱?

3

我有一个包含15000个实数值的数据集,范围从0到100。我的数据集严重偏向左侧。我想要将数据分成以下几个区间:0、1、2、3、4、5、6、7、8、9、10和大于10。目前我已经创建了如下内容:

  breakvector = c(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 100) 

并已运行:

  hist(datavector, breaks=breakvector, xlim=(0, 13))

然而,似乎这导致的直方图中不包括大于13的数据。有人知道如何让R将其余所有数据分配到最后一个区间吗?提前感谢。


你有超过100的值吗? - MrFlick
1个回答

4

这个怎么样?

datavector<-c(sample(1:9, 40, replace=T), sample(10:100, 20, replace=T))
breakvector <- c(0:11)
hist(ifelse(datavector>10,11,datavector), breaks=breakvector, xlim=c(0, 13), xaxt="n")
axis(1, at=1:11-.5, labels=c(1:10, ">10"))

不需要调整间隔,我只是将所有大于10的值放入一个11的容器中,然后相应地更新轴。

这个完美地运行了。非常感谢。我不知道你可以像那样使用ifelse语句。 - mt88

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接