我有一个这样的dataframe:
id year
001 1988
001 1988
001 1988
001 1988
001 1988
002 1972
002 1972
002 1972
002 1972
字符串
对于每个id
,我想将变量year
转换为从第一次观察开始的序列,在每个连续的行中增加1。所需输出:
id year
001 1988
001 1989
001 1990
001 1991
001 1992
002 1972
002 1973
002 1974
002 1975
型
我该怎么做?tidyverse
解决方案将是优选的。谢谢
我的数据:
df <- data.frame(id = c("001", "001", "001", "001", "001", "002", "002", "002", "002"),
year = c(1988, 1988, 1988, 1988, 1988, 1972, 1972, 1972, 1972))
型
3条答案
按热度按时间blpfk2vs1#
seq
:字符串
svgewumm2#
base
解决方案:字符串
zxlwwiss3#
为了完整起见,使用
data.table
方法字符串
或者如果不是所有年份最初每个id都相同,则需要
first(year)
型