关于'combn'函数和'data.table'包[所有可能的组合],我发现了一个奇怪的事情(bug?)

时间:2017-01-14 17:53:42

标签: r data.table

我试图按群组找到所有可能的组合。我尝试使用combn函数和data.table包作为下面的帖子[[这里是链接]](Generate All ID Pairs, by group with data.table in R

这给了我预期的结果。

dat1 <- data.table(ids=1:4, groups=c("B","A","B","A"))
dat1
   ids groups
1:   1      B
2:   2      A
3:   3      B
4:   4      A

dat1[, as.data.table(t(combn(ids, 2))), .(groups)]
   groups V1 V2
1:      B  1  3
2:      A  2  4

但这给了我一个奇怪的结果。这很奇怪。我试着理解这个结果大约3个小时,但我做不到。这不是一个bug吗?

dat2 <- data.table(ids=1:4, groups=c("B","A","B","C"))
dat2
   ids groups
1:   1      B
2:   2      A
3:   3      B
4:   4      C

dat2[, as.data.table(t(combn(ids, 2))), .(    groups)]
   groups V1 V2
1:      B  1  3
2:      A  1  2
3:      C  1  2
4:      C  1  3
5:      C  1  4
6:      C  2  3
7:      C  2  4
8:      C  3  4

我非常感谢你的教学。

0 个答案:

没有答案