【发布时间】:2013-03-19 11:03:54
【问题描述】:
我使用 cut 和 classIntervals 对 R 中的数据进行分组,稍后我将使用 ggplot2 进行绘图。因此,按 n=3 进行分位数切割的基本操作如下所示:
library(classInt)
a<-c(1,10,100,1000,100000,1000000)
b<-cut(a,
breaks=data.frame(
classIntervals(
a,n=3,method="quantile")[2])[,1],
include.lowest=T)
b 在哪里:
[1] [1,70] [1,70] (70,3.4e+04] (70,3.4e+04] (3.4e+04,1e+06] (3.4e+04,1e+06]
Levels: [1,70] (70,3.4e+04] (3.4e+04,1e+06]
所以这个输出的第一行是一个带有我的分组数据的向量,我可以在 ggplot2 中使用它。但是,我希望标签是[1,70] (70,34000] (3400,1000000]
我怎样才能做到这一点?如果您有其他方法而不是 cut 和 classInt 来获得相同的结果,我们将不胜感激。
【问题讨论】:
-
如果有人使用类似的功能对数据进行分组,请随时查看
Hmisc包中的cut2,它实际上比我上面描述的功能更有效。另请参阅:stat.ethz.ch/pipermail/r-help/2007-December/148468.html。在这种情况下使用digits=10来避免科学记数法。