【发布时间】:2011-04-18 22:55:44
【问题描述】:
我有一个文件,其中每一行都有一个代表平均持续时间的数值:
12.3
5.4
6
...
在 R 中有一些方法可以自动或手动间隔/中断(聚合?)显示数据。像这样的:
[0,1[ 0
[1, 6[ 1
[6, 20[ 2
...
另外,接下来我想在 ggplot2 中生成一个显示这些数据的图。我可以使用这些间隔作为标签吗?
【问题讨论】:
我有一个文件,其中每一行都有一个代表平均持续时间的数值:
12.3
5.4
6
...
在 R 中有一些方法可以自动或手动间隔/中断(聚合?)显示数据。像这样的:
[0,1[ 0
[1, 6[ 1
[6, 20[ 2
...
另外,接下来我想在 ggplot2 中生成一个显示这些数据的图。我可以使用这些间隔作为标签吗?
【问题讨论】:
您可以使用基础 R 中的 cut() 函数对数据进行分箱,也可以使用 Hmisc 包和 cut2()。关于如何对数据进行切割和切片有多种选择,所有这些都分别记录在 help(cut) 或 help(cut2) 中。
一旦您对数据进行了适当的分箱,使用 ggplot 绘图就变得很简单:
library(ggplot2)
#Sample data
set.seed(1)
dat <- data.frame(x = sample(1:100, 1000, TRUE))
dat$cuts <- cut(dat$x, breaks = 5)
#Make bar chart
qplot(dat$cuts)
【讨论】: