创建列以枚举一组事件

div*_*ero 5 r plyr dplyr

我有关于按某种顺序发生的一组事件的数据.我想要一个枚举该事件集的列:这行是第一次,这行是第二次等.数据将如下所示:

S   Time
A     3
A     4
A     5
A     10
B     4
B     9
B     1
B     37
Run Code Online (Sandbox Code Playgroud)

其中S是某种会话ID,时间显然是时间.我希望添加以下结果列:

S   Time   Order
A     3      1
A     5      3
A     4      2
A     10     4
B     4      2
B     9      3
B     1      1
B     37     4
Run Code Online (Sandbox Code Playgroud)

对于每个会话ID,我希望有一个列,根据时间对行进行排序.我正在使用dplyr,我希望有一个简洁的dplyr方式来做到这一点.

akr*_*run 7

尝试

 library(dplyr)
 df1 %>%
      group_by(S) %>% 
      mutate(Order=rank(Time))
Run Code Online (Sandbox Code Playgroud)


Ste*_*pré 5

你也可以这样做:

df %>% group_by(S) %>% mutate(Order = row_number(Time))
Run Code Online (Sandbox Code Playgroud)

dplyr包中,row_number()相当于rank(ties.method = "first")