首页 > 解决方案 > 为 r 中的堆叠行添加唯一索引 id

问题描述

我正在尝试为相同的 id 行添加一个唯一的索引 id 变量。这是我的数据集的快照。

id <- c(1234, 1234, 2241,2241, 1252,1252,1252)
step <- c(0,0,0,0,0,1,-1)

data <- data.frame(id, step)

> data
    id step
1 1234    0
2 1234    0
3 2241    0
4 2241    0
5 1252    0
6 1252    1
7 1252   -1

所以唯一的索引 id 应该是这样的:

> data
    id step  index
1 1234    0   1
2 1234    0   1
3 2241    0   2
4 2241    0   2
5 1252    0   3
6 1252    1   3
7 1252   -1   3

标签: rdataframeindexing

解决方案


我们可以match使用base R

data$index <- with(data, match(id, unique(id)))
data$index
#[1] 1 1 2 2 3 3 3

推荐阅读