所以我目前正在使用以下代码来生成我的组合:
组合(x,y)
但问题是函数存储了所有可能的组合。我不想存储它们,我只想通过循环或其他方式生成它们。这对我的程序来说会更有效率。有没有办法通过 for 循环生成组合而不是全部存储?
我知道我在这里问过类似的问题:如何在 R 中迭代地找到集合的所有可能子集? https://stackoverflow.com/questions/17594392/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
}
回来each在循环中一次一个可能的组合中,执行以下操作:
#Sample data:
x <- c(1,2,3,4)
y <- 2
all_combinations <- combn(x,y)
#Return each value:
for (i in 1:ncol(all_combinations)) {
print(all_combinations[,i])
}
但我不确定为什么你想在 for 循环中执行此操作,因为它非常慢。除了这个应用程序之外,是否还有期望的最终输出?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)