【发布时间】:2019-10-07 13:47:49
【问题描述】:
我的数据集中有一个 ID,指示观察所属的用户。我想将其重新编码为从 1 开始的序列。
示例数据
da1 <- data.frame(player = c(120,120,120,47,47,18,18,18), wins = c(0,2,1,0,0,2,0,1))
da1
player wins
1 120 0
2 120 2
3 120 1
4 47 0
5 47 0
6 18 2
7 18 0
8 18 1
我希望它看起来像这样:
da2 <- data.frame(player = c(1,1,1,2,2,3,3,3), wins = c(0,2,1,0,0,2,0,1))
da2
player wins
1 1 0
2 1 2
3 1 1
4 2 0
5 2 0
6 3 2
7 3 0
8 3 1
我尝试了以下代码,但它为每个用户创建了一个序列。
library(tidyverse)
da1 %>%
group_by(id) %>%
mutate(start = 1:n())
【问题讨论】:
-
match(da1$player, unique(da1$player))
标签: r dplyr transform sequence identifier