R 使用另一列的上一个值创建新列
我有一个R data.frame,如下所示。我想创建一个新列,R 使用另一列的上一个值创建新列,r,dataframe,R,Dataframe,我有一个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
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
#设置数据帧
df这样做:df$col3查看?lag
。这样做:df$col3因为lag
来自dplyr
,你可以做df%>%groupby(col1)%%>%mutate(col3=lag(col2))
请查看并在回答后回来检查。