【发布时间】:2019-12-23 16:04:26
【问题描述】:
是否有将条件/限制合并到 R 中的expand.grid 中?
例如,如何防止在创建网格时出现c(1,1,1) 和c(2,2,2) 的组合?是否有一个可扩展的解决方案可以在许多限制下工作?我的网格很大,我的内存无法处理它,例如Error: cannot allocate vector of size 32.0 Gb,因此在创建网格后进行子集化不是一种选择。
expand.grid(A = rep(1:2),
B = rep(1:3),
C = rep(1:4))
下面的代码不起作用:
expand.grid(A[!((A==1 & B==1 & C==1) & (A==2 & B==2 & C==2))] = rep(1:2),
B[!((A==1 & B==1 & C==1) & (A==2 & B==2 & C==2))] = rep(1:3),
C[!((A==1 & B==1 & C==1) & (A==2 & B==2 & C==2))] = rep(1:4))
as.data.frame(expand.grid(A = rep(1:2),
B = rep(1:3),
C = rep(1:4)))[!((A==1 & B==1 & C==1) & (A==2 & B==2 & C==2))]
谢谢!
【问题讨论】:
-
您显示的代码不起作用,因为尚未创建
A、B、C
标签: r combinations