我有一个R data.frame,如下所示。我想创建一个新列col3
,该列将具有按col2
分组的col1
的先前值。我怎样才能做到这一点?
# Set up dataframe
df <- data.frame(
col1=c('a','a','a','b','b','b'),
col2=c('action1', 'action2', 'action3', 'action1', 'action2', 'action3')
)
df
col1 col2
1 a action1
2 a action2
3 a action3
4 b action1
5 b action2
6 b action3
# What I want:
df
col1 col2 col3
1 a action1 NA
2 a action2 action1
3 a action3 action2
4 b action1 NA
5 b action2 action1
6 b action3 action2
答案 0 :(得分:0)
这样做:df$col3 <- unlist(tapply(df$col2, df$col1, lag))