如何在data.table中按组递增地创建新列?

时间:2016-04-11 23:10:54

标签: r data.table

对于每个data.table组,我有不同的向量,例如下面的new.column.for.*,我想在data.table的新列中使用它们。 有一种紧凑的data.table方法吗? 合并似乎相当麻烦。创建一个新的向量(如new.column <- c(new.column.for.a, new.column.for.b, rep(NA, 10)))并将其与DT绑定是可以的,但不是data.table ish。

library(data.table)
DT <- data.table(key.1 = rep(c('a','b','c'), each = 10), 
                 key.2 = rep(1:10, 3) , 
                     c = 1:30)
new.column.for.a <- c(paste0('a', 1:4), rep(NA, 6))
new.column.for.b <- c(paste0('b', 1:7), rep(NA, 3))

Desired.T <- data.table(key.1 = rep(c('a','b','c'), each = 10), 
                        key.2 = rep(1:10, 3) , 
                            c = 1:30, 
                            d = c(new.column.for.a, 
                                new.column.for.b, rep(NA, 10))
                        )

0 个答案:

没有答案