【问题标题】:Stratify a variable in R [duplicate]在R中分层变量[重复]
【发布时间】:2016-11-24 12:24:37
【问题描述】:

一个例子

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 方式 可以说 以 5 步为单位对变量进行分层。

【问题讨论】:

标签: r


【解决方案1】:

我们可以使用cut

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

【讨论】:

  • “5 步”在哪里?这就是我的问题的重点以及可能重复的区别。
  • @buhtz 你可以把breaks改成breaks = seq(10, 30, by = 5)左右
猜你喜欢
  • 2016-05-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-12
  • 1970-01-01
  • 2018-08-14
  • 2020-04-25
  • 1970-01-01
相关资源
最近更新 更多