所以我知道以下命令会将所需长度 y 的所有可能组合存储在列表中,其中y < j
:
lapply(y, function(x) combn(j,x))
但我不希望将它们全部存储在列表中,因为稍后我将只访问它们一次,因此将它们存储在内存中效率不高。有没有一种方法可以让我在某种循环或其他东西中生成每个组合,然后在我完成计算之后,它只会给我下一个组合?所以基本上我想迭代地产生组合而不是先存储它们。
所以在伪代码中,我想要的是:
#loop that will generate each possible combination one by one
loop{
operation that uses combination
}