假设我有三个词"blue"
:"red"
和"pink"
。
我希望生成所有字母组合,其中我从“蓝色”中取出两个字母,然后从“红色”中添加两个字母,然后从“粉红色”中添加两个字母,例如
blrdpk
uerdin
ETC...
在 R 中,我通过将每个单词的字符分配到一个列表元素中来编码我的三个单词
words <- list( list("b","l","u","e"), list("r","e","d"), list("p","i","n","k") )
我知道我可以使用lapply
withcombn(words[[i]],m=2)
从每个单词中获取 2 个字母的所有组合。
我有两个问题:
是否有更高级的 combn() 版本,它允许您从使用递归列表给出的不同“桶”中选择和连接组合?
如果没有 combn() 的高级版本,连接三个单词中每个单独的 2 个字母组合的最佳方法是什么?
如果我想从每个单词中获得不同数量的字母,有没有一种简单的方法可以做到这一点?[从答案之一中的用户评论中添加]