You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何自动为R语言数据框中相同旅程标识符的观测值编码?

解决方案

方法1:Base R 原生实现

利用factor类型的特性,将字符串转换为因子后再转为整数,即可自动给每个唯一tours分配递增的数字编码:

# 生成journey列
df$journey <- as.integer(factor(df$tours))

# 查看结果
df

运行后输出:

tours order journey
1 ansc123123     1       1
2 ansc123123     2       1
3 ansc123123     3       1
4    baa3999     1       2
5    baa3999     2       2
6    baa3999     3       2

该方法无需额外安装包,可自动识别所有唯一tours值,适配任意规模数据集。

方法2:dplyr 包实现(适合数据管道操作)

如果习惯使用tidyverse工具链,可通过以下两种方式实现:

library(dplyr)

# 方式1:使用group_indices
df <- df %>% mutate(journey = group_indices(., tours))

# 方式2:使用cur_group_id(需dplyr 1.0.0及以上版本)
df <- df %>% 
  group_by(tours) %>% 
  mutate(journey = cur_group_id()) %>% 
  ungroup()

两种方式均能达成需求,且处理大规模数据时效率表现优异。


内容的提问来源于stack exchange,提问作者OLGJ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 09:07:09