如何在 data.table 行上应用组合函数来提取和记录另一个 data.table 中的不同可能性?

How to apply a combination function on data.table rows to extract and record the different possibilities in another data.table?

我遇到了一个问题,在以前的帖子中找不到合适的方法来解决它。 我的数据 table 下面有 one 列:

             listOfRules
1:  a, fire, addAfter, b
2: b, storm, addAfter, c
3:      c, storm, remove

我想找到一种方法来获取另一数据 table 中每行元素的组合,如下所示。 基本上,我想先获取每一行,然后两行两行,继续这样,直到最后我得到所有选项。

       x1                           x2                    x3
1. a, fire, addAfter, b             NA                    NA
2. b, storm, addAfter, c            NA                    NA
3. c, storm, remove                 NA                    NA
4. a, fire, addAfter, b      b, storm, addAfter, c        NA
5. a, fire, addAfter, b      c, storm, remove             NA
6. b, storm, addAfter, c     c, storm, remove             NA
7. a, fire, addAfter, b      b, storm, addAfter, c     c, storm, remove

非常感谢你在这方面的帮助。

这是一个简单的 R 基础方法

v <- letters[1:3]
lenV <- length(v)

do.call(rbind, lapply(1:lenV, function(x) {
    mat <- t(combn(v, x))

    if (ncol(mat) < lenV)
        cbind(mat, replicate(lenV - ncol(mat), rep(NA, nrow(mat))))
    else
        mat
}))