在R中生成数字序列的快速方法

MyQ*_*MyQ 2 optimization loops r vectorization

它可能看起来像一个有趣的问题,但是R生成如下所示的2行矩阵的最快方法是:

cc = NULL
n1 = 1000
n2 = 1000000
  for (i in 0:n1)
    for (j in 0:n2)
      cc = c(cc, i, j)
  cbn = matrix(cc, nrow = 2)
Run Code Online (Sandbox Code Playgroud)

Jam*_*s B 6

通常,您要一遍又一遍地避免for循环和通过“ c”建立向量。这是一种方法。

n1 <- 3
n2 <- 4

rbind(rep(0:n1, each = n2 + 1), rep(0:n2, n1 + 1))
Run Code Online (Sandbox Code Playgroud)