我正在尝试找到一种方法来创建与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)索引。