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

如何将整数向量转换为元素首次出现顺序的对应标识值?

整数向量转首次出现顺序标识值的实现方法

给定R语言整数向量:

c(3, 2, 3, 4, 4, 5, 5, 2, 1)

需要将其转换为元素首次出现顺序对应的标识值——第一个出现的元素标识为1,第二个新出现的元素标识为2,以此类推,最终期望结果为:

1 2 1 3 3 4 4 2 6

实现代码

直接用R内置函数组合即可完成:

# 定义原向量
input_vec <- c(3, 2, 3, 4, 4, 5, 5, 2, 1)
# 生成首次出现顺序标识
output_vec <- match(input_vec, unique(input_vec))
# 输出结果
output_vec

原理说明

  • unique(input_vec)会按元素首次出现的顺序提取原向量中的唯一值,得到c(3, 2, 4, 5, 1);
  • match(input_vec, unique(input_vec))会逐个查找原向量元素在唯一值向量中的位置索引,这个索引就是该元素首次出现的顺序标识。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 11:15:43