Data.table: FR:像 data.table() 一样为 CJ() 分配名称

创建于 2016-03-17  ·  3评论  ·  资料来源: Rdatatable/data.table

我经常做

DT[CJ(colA = colA, colB = colB, unique=TRUE), on=c("colA","colB")]
# to complete missing levels

# or 
DT[, CJ(colA = colA, colB = colB, unique=TRUE)][!DT, on=c("colA","colB")]
# to identify missing levels
# http://stackoverflow.com/a/36065607/1191259

如果我能少写colAcolB的次数,那就太好了。 这里的 FR 是为了

CJ(colA, colB, unique=TRUE, names=TRUE) 

推断名称colAcolB ,也许使用 data.frame() 和 data.table() ( make.names ?)使用的任何方法。

(我想,如果on=.Icols是一回事,名称重复可能会进一步减少,但我会将其留给单独的 FR。)

所以帖子要更新...

enhancement

最有用的评论

+1,我认为不需要names参数 - 这应该是唯一的行为。 随着连接语法更改为使用“on”而不是setkey这已成为我的一大症结。

我还希望看到unique = TRUE是默认值 - 我想不出 _ever_ 不需要将参数唯一到CJ

所有3条评论

CJ...作为第一个参数,该函数将是泛型方法,因此我们需要将其更改为CJ(x, ...) ,这些更改可以一起进行# 1090

+1,我认为不需要names参数 - 这应该是唯一的行为。 随着连接语法更改为使用“on”而不是setkey这已成为我的一大症结。

我还希望看到unique = TRUE是默认值 - 我想不出 _ever_ 不需要将参数唯一到CJ

@jangorecki我还没有接触 #1090 / #814 的东西。 最好是独立的,我想,除非我遗漏了什么

此页面是否有帮助?
0 / 5 - 0 等级