我目前正在使用以下代码来生成组合:
combn(x,y)
但问题是该函数会存储所有可能的组合。我不想把它们存储,我只想通过类似循环之类的方式来生成它们。这对我的程序来说效率更高。是否有一种方法可以通过for循环生成组合而不是把它们全部存储?
我知道我在这里提过一个类似的问题: How do I find all possible subsets of a set iteratively in R?
但是在那个解决方案中,组合仍然被存储了...
这里有更多细节:
假设我想要找到4个元素中选2个的所有可能组合。使用combn(4,2)将会存储如下内容: ((1,4),(1,3),(1,2),(2,4),(2,3)(3,4))
我想要的结果是:
loop{
produces one combination at a time
}
i
,来获取combn(x,y)
的第i个值。虽然function(x,y,i)combn(x,y)[i]
在技术上可以工作,但并不高效。 - nograpes