假设我有三个词:"blue"
,"red"
和"pink"
。来自递归列表的组合
我希望生成所有字母组合,其中我从“蓝色”中取出两个字母,然后将两个字母添加到“红色”之外,然后添加到两个字母之外的“粉红色”。
blrdpk
uerdin
等等
在R,I,通过分配每个字的字符到使用列表元素编码我三个字
words <- list(list("b","l","u","e"), list("r","e","d"), list("p","i","n","k"))
我知道我可以使用lapply
和combn(words[[i]],m=2)
来获得2个lett的所有组合从每个单词中删除。
我有两个问题:
有combn的更高级版本(),它可以让你选择,并从不同的“水桶”用递归列表给出的串联组合?
如果没有combn()的高级版本,从三个单词中的每个单词连接每个单独的2个字母组合的最佳方式是什么?
如果我想从每个单词中获取不同数量的字母,是否有简单的方法? [添加自用户评论的其中一个答案]
是否字母顺序重要吗? – 2013-02-26 01:20:56
这些字母的顺序无关紧要。 – Alex 2013-02-26 01:22:13
此外,我只是阅读,并回答问题2,我可能只需使用expand.grid() – Alex 2013-02-26 01:22:29