我有一个数据框,其中一列由字符串组成,这是旅程的唯一标识符。
df <- data.frame(tours = c("ansc123123", "ansc123123", "ansc123123", "baa3999", "baa3999", "baa3999"),
order = rep(c(1, 2, 3), 2))
现在我的真实的数据更大了,有更多的观测值和唯一标识符,但我希望有一个输出格式,就像你做这样的事情时一样(但不是手动编码),这样具有相同tours
值的旅程就被编码为相同的旅程。
df$journey <- c(1, 1, 1, 2, 2, 2)
4条答案
按热度按时间g0czyy6m1#
您可以将其转换为
factor
。或者使用
match
和unique
。也可以使用
factor
并使用unclass
获取整数值。这里保存了levels
,允许返回原始值。mv1qrgav2#
dplyr
方法可以是将mutate
与cur_group_id()
和.by
命令一起使用:或者对于
dplyr
的旧版本:输出:
rqmkfv5c3#
oalqel3c4#
带有
dplyr 1.1.0
https://dplyr.tidyverse.org/reference/group_data.html我们可以用途:
group_indices()
返回一个整数向量,其长度与.data相同,后者给出每行所属的组。