【问题标题】:In data.table in R, how can we create an sequenced indicator variable by the values of two columns? [duplicate]在 R 的 data.table 中,我们如何通过两列的值创建一个有序的指示变量? [复制]
【发布时间】:2026-02-11 15:40:01
【问题描述】:

Rdata.table 包中,对于给定的数据表,我想知道如何为两列中相同的值创建指标索引。比如下面的数据表,

> M <- data.table(matrix(c(2,2,2,2,2,2,2,5,2,5,3,3,3,6), ncol = 2, byrow = T))
> M
   V1 V2
1:  2  2
2:  2  2
3:  2  2
4:  2  5
5:  2  5
6:  3  3
7:  3  6

我想创建一个新列,它基本上对两列的每一行的值进行排序,这样我就可以得到类似的东西:

> M
   V1 V2 Index
1:  2  2     1
2:  2  2     1
3:  2  2     1
4:  2  5     2
5:  2  5     2
6:  3  3     3
7:  3  6     4

我基本上想重复上面.N 的值,有什么好的方法吗?

【问题讨论】:

    标签: r data.table


    【解决方案1】:

    我们可以在按'V1'和'V2'分组后使用.GRP

    M[, Index := .GRP, .(V1, V2)]
    

    【讨论】:

      最近更新 更多