在R数据帧中创建索引变量

时间:2019-11-13 12:56:06

标签: r data.table

我正在尝试找到一种方法来创建与R数据帧中的列值相对应的索引,例如用于数据框

df = data.frame(c('x','x','y','y','y','z'), c(1,2,3,4,5,6), 
c(7,8,9,10,11,12))
names(df) = c('a','b','c')

我想创建一个新列(1,1,2,2,2,3),即'a'的所有实例都替换为1,所有'b'的实例都替换为2,以此类推。我的第一个想法是将df转换为数据表,例如,我可以使用

dt = as.data.table(df)
dt[, id := seq_len(.N), by = 'a']

创建一个id列(1,2,1,2,3,1)。但是,我不知道用什么代替seq_len来给我我所需的(1、2、2、2、2、3)索引。

0 个答案:

没有答案