我想找到与特定条件匹配的向量元素的所有组合。函数 expand.grid 返回所有可能的组合而不检查特定条件。使用 expand.grid 函数后可以测试特定条件,但在某些情况下,可能的组合数量太大而无法使用 expand.grid 生成它们。因此,是否有一个功能可以让我在生成所有可能的组合时检查条件。
这是问题的简化版本:
A <- seq.int(12, from=0, by=1)*15
B <- seq.int(27, from=0, by=1)*23
C <- seq.int(18, from=0, by=1)*18
D <- seq.int(33, from=0, by=1)*10
out<-expand.grid(A,B,C,D) #out is a dataframe with 235144 x 4 as dimensions
idx<-which(rowSums(out)<=400 & rowSums(out)>=300) #Only a small fraction of 'out' is needed
results <- out(idx,)