我有以下数据集
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个条目.我怎样才能以最有效的方式来做呢?
我有以下数据集
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个条目.我怎样才能以最有效的方式来做呢?
我会简单地使用cut
和seq
定义的中断:
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创建