对R中的变量进行分层

时间:2016-11-24 12:24:37

标签: r

一个例子

mtcars$qsec
 [1] 16.46 17.02 18.61 19.44 17.02 20.22 15.84 20.00 22.90 18.30 18.90 17.40
[13] 17.60 18.00 17.98 17.82 17.42 19.47 18.52 19.90 20.01 16.87 17.30 15.41
[25] 17.05 18.90 16.70 16.90 14.50 15.50 14.60 18.60

我想对该变量进行分层或分组。关键是我想以相同的步骤(例如5)。

目前我会这样做

mtcars$qsec_group[mtcars$qsec < 10] <- '10 or less'
mtcars$qsec_group[mtcars$qsec >= 10 & mtcars$qsec < 15] <- '10-15'
mtcars$qsec_group[mtcars$qsec >= 15 & mtcars$qsec < 20] <- '15-20'

这是非常不灵活的。是否有 R-way 来说明以5为单位对该变量进行分层。

1 个答案:

答案 0 :(得分:0)

我们可以使用cut

with(mtcars, cut(q_sec, breaks = c(10, 15, 20), labels = c('10 or less', '10-15', '15-20'))