【发布时间】:2016-07-14 13:34:34
【问题描述】:
当数据表作为单列给出时,是否有data.table 惯用的方法来获取数据表的唯一键?
我正在处理多个数据集,每个数据集大约有 1000 万行,并且希望将函数调用/开销保持在最低限度。使用下面的玩具示例,
require(data.table)
d_test<-data.table(id=c(1,1,2,7,2,3,5),
amt=c(100,200,400,600,231,-100,-200),
pay=c(-2,rep(1:3,2)),
key="id")
我正在寻找的输出相当于一个向量或 data.table,
unique(d_test[,.(id)]),或unique(d_test$id)
即c(1,2,3,5,7)
【问题讨论】:
-
我猜惯用的方式可能是
unique(d_test[, key(d_test), with=FALSE]),但对于单列键的特定情况,您的方法和乔治的(在下面的答案中)似乎很好。注意unique.data.table的默认值是by=key(x)。见?unique.data.table
标签: r data.table