R:条件展开.grid函数

R:条件展开.grid函数,r,R,我想找到所有符合特定条件的向量元素组合。函数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, f

我想找到所有符合特定条件的向量元素组合。函数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,)

A总之,不。毕竟,如果你事先知道哪些组合是可取的/不可取的,你可以从扩展中排除它们,例如
expand.grid(A[A])