8

我已经expand.grid使用 eval(parse(...)).

简而言之:

len <- 36
Text <- paste("pos <- expand.grid(",
  paste(rep("c(TRUE,FALSE)", len), collapse=","), ")", sep="")
eval(parse(text = Text))

给我

Error in rep.int(rep.int(seq_len(nx), rep.int(rep.fac, nx)), orep) : 
invalid 'times' value
In addition: Warning message:
In rep.int(rep.int(seq_len(nx), rep.int(rep.fac, nx)), orep) :
NAs introduced by coercion

与变量中/len的组合数相反。TRUEFALSEpos

我忽略了一些简单的东西,或者可能不是......?

4

1 回答 1

11

eval正如我在评论中所说,这与or无关parse。错误在expand.grid. 问题是 R 的最大向量长度是 2^31-1 并且rep.int试图创建一个 2^36 长度的向量。

于 2012-07-25T17:57:17.603 回答