R 标识符作为以1开头的序列
我的数据集中有一个ID,指示观察所属的用户。我想把它重新编码为一个从1开始的序列 示例数据R 标识符作为以1开头的序列,r,dplyr,transform,sequence,identifier,R,Dplyr,Transform,Sequence,Identifier,我的数据集中有一个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
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
我认为
tidyverse
解决方案类似于:
da1$player <-
da1 %>%
group_by(player) %>%
group_indices()
或始终数据。表解决方案(对订购不敏感):
另一个base R
备选方案:
as.integer(factor(-da1$player))
我认为tidyverse
解决方案类似于:
da1$player <-
da1 %>%
group_by(player) %>%
group_indices()
或始终数据。表解决方案(对订购不敏感):
另一个base R
备选方案:
as.integer(factor(-da1$player))
da2da2match(da1$player,unique(da1$player))
match(da1$player,unique(da1$player))
setDT(da1)[, player := .GRP, by = player]
da1
as.integer(factor(-da1$player))
da2 <- transform(da1, id=match(player, unique(player)))