R data.table所有组的交集

Wil*_*ler 6 r data.table

我希望拥有数据表的所有组的交集.所以对于给定的数据:

data.table(a=c(1,2,3, 2, 3,2), myGroup=c("x","x","x",  "y",  "z","z"))
Run Code Online (Sandbox Code Playgroud)

我希望得到结果:

2
Run Code Online (Sandbox Code Playgroud)

我知道

Reduce(intersect, list(c(1,2,3), c(2), c(3,2)))
Run Code Online (Sandbox Code Playgroud)

将给出我想要的结果,但我没有弄清楚如何生成data.table查询组的列表.

Dav*_*urg 7

我会尝试Reduce以下列方式使用(假设dt您的数据)

Reduce(intersect, dt[, .(list(unique(a))), myGroup]$V1)
## [1] 2
Run Code Online (Sandbox Code Playgroud)