我有以下数据集

df<- data.frame(x1=c(1,5,7,8,2,2,3,4,5,10),
birthyear=c(1992,1994,1993,1992,1995,1999,2000,2001,2000, 1994))

我想把每三年出生的人分成一组,这样1992-1994年出生的人是第一组,1995-1997年出生的人是第二组,依此类推.我有一个更大的数据集,有超过10000个条目.我怎样才能以最有效的方式来做呢?

推荐答案

我会简单地使用cutseq定义的中断:

df$group <- cut(df$birthyear,
                seq(1992, 2022, 3),
                labels = F,
                right = F)
df

输出:

#>    x1 birthyear group
#> 1   1      1992     1
#> 2   5      1994     1
#> 3   7      1993     1
#> 4   8      1992     1
#> 5   2      1995     2
#> 6   2      1999     3
#> 7   3      2000     3
#> 8   4      2001     4
#> 9   5      2000     3
#> 10 10      1994     1

reprex package(v2.0.1)于2022-05-03创建

R相关问答推荐

多重RHS固定估计

如何将dygraph调用到R Markdown作为一个shiny 的react 对象的参数?

用预测NLS处理R中生物学假设之上的误差传播

如何同时从多个列表中获取名字?

在R中,我如何使用滑动窗口计算位置,然后进行过滤?

当每个变量值只能 Select 一次时,如何从数据框中 Select 两个变量的组合?

将具有坐标列表列的三角形转换为多个多边形

在散点图中使用geom_point放置线图例

层次树图的数据树

避免在图例中显示VLINS组

如何判断代码是否在R Markdown(RMD)上下文中交互运行?

如何在R中创建条形图,使条形图在y轴上围绕0.5而不是0构建条形图?

如何在AER::ivreg中指定仪器?

如何调整一个facet_work()面板内的框图和移动标签之间的水平宽度?

整理ggmosaic图的标签

R:使用ApexCharge更改标签在饼图中的位置

在鼠标悬停时使用Plotly更改geom_point大小

使用列名和r中的前缀 Select 列的CREATE函数

如何在R中的两列以上使用联合(&U)?

动态统计函数在ShinyApp内部更改