创建一个列来枚举一组事件
Creating a column to enumerate a set of events
我有一组按某种顺序发生的事件的数据。我想要一个枚举那组事件的列:这一行是第一次,这一行是第二次等。数据将如下所示:
S Time
A 3
A 4
A 5
A 10
B 4
B 9
B 1
B 37
其中 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
对于每个会话 ID,我希望有一列根据时间对行进行排序。我正在使用 dplyr
,我希望有一种简洁的 dplyr 方式来做到这一点。
尝试
library(dplyr)
df1 %>%
group_by(S) %>%
mutate(Order=rank(Time))
你也可以这样做:
df %>% group_by(S) %>% mutate(Order = row_number(Time))
在dplyr
包中,row_number()
相当于rank(ties.method = "first")
我有一组按某种顺序发生的事件的数据。我想要一个枚举那组事件的列:这一行是第一次,这一行是第二次等。数据将如下所示:
S Time
A 3
A 4
A 5
A 10
B 4
B 9
B 1
B 37
其中 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
对于每个会话 ID,我希望有一列根据时间对行进行排序。我正在使用 dplyr
,我希望有一种简洁的 dplyr 方式来做到这一点。
尝试
library(dplyr)
df1 %>%
group_by(S) %>%
mutate(Order=rank(Time))
你也可以这样做:
df %>% group_by(S) %>% mutate(Order = row_number(Time))
在dplyr
包中,row_number()
相当于rank(ties.method = "first")