如何为另一个变量的唯一值创建索引变量?

时间:2019-07-23 23:02:12

标签: r

我想创建一个索引另一个变量值的新变量。新列从1开始,如下所示。谢谢。

  ColumnIHave ColumnIWant
            A           1
            A           1
            A           1
            B           2
            B           2
            B           2
            C           3
            C           3
            C           3

2 个答案:

答案 0 :(得分:1)

使用data.table的一个选项:

数据:

DT <- read.table(header = TRUE, text = "ColumnIHave 
A
A
A
B
B
B
C
C
C")

创建列:

library(data.table)
DT <- data.table(DT)
DT[, ColumnIWant:= .GRP, by = ColumnIHave]
DT

结果:

   ColumnIHave ColumnIWant
1:           A     1
2:           A     1
3:           A     1
4:           B     2
5:           B     2
6:           B     2
7:           C     3
8:           C     3
9:           C     3

答案 1 :(得分:0)

您可以使用 getDatabase() { const path = "http://192.168.1.71:5000/api/getdatabase"; axios .get(path) .then(response => { // console.log(res.data) this.database = response.data; }) .catch(error => { console.log("Failed to get database"); }); }, 将数据转换为因子,然后转换为数字。

对于管道,代码如下所示:

dplyr

如果您不熟悉管道,更熟悉其他编程语言中的函数,请参见非管道版本。

tbl1 %>% mutate(ColumnIWant = ColumnIHave %>% as.factor() %>% as.numeric())

reprex package(v0.3.0)于2019-07-23创建