【发布时间】:2018-07-30 14:19:21
【问题描述】:
我有一个数据框
id player
8297682400 Player1
8297692740 Player1
8255798760 Player1
8255798760 Player1
8255798760 Player1
8255799456 Player2
8255799456 Player2
8255799456 Player2
8255866000 Player2
8255866000 Player2
8255866000 Player2
8255826600 Player1
8255826600 Player1
8255826600 Player1
8255854600 Player2
8255854700 Player1
如果我使用group_by(player,id),我知道我可以通过%>% mutate(counter=1:n())轻松计算每个组中的行数
但是如何计算每个玩家的唯一 id 值,并在找到重复项时“暂停”计数?
我想要:
id player id_counter
8297682400 Player1 1
8297692740 Player1 2
8255798760 Player1 3
8255798760 Player1 3
8255798760 Player1 3
8255799456 Player2 1
8255799456 Player2 1
8255799456 Player2 1
8255866000 Player2 2
8255866000 Player2 2
8255866000 Player2 2
8255826600 Player1 4
8255826600 Player1 4
8255826600 Player1 4
8255854600 Player2 3
8255854700 Player1 5
【问题讨论】:
-
“暂停计数”,我猜你的意思是
dtt %>% group_by(player) %>% mutate(id_counter = cumsum(!duplicated(id)))。