r - 具有不同二进制大小的整数矩阵的高效writeBin

时间:2016-02-26 18:36:59

标签: r binary

我们说我有一个包含1,000,000行和3列的矩阵。都是整数。

我想使用writeBin将其写入二进制文件。

但是,我希望第一列和第三列是size = 4整数,但第二列是size = 1整数。

如何有效地将此矩阵写入二进制文件?

我知道我可以循环遍历矩阵的每一行并逐个编写这些元素,但它会非常慢。

以下示例慢代码:

    DATA = matrix(as.integer(round(100*runif(3000000))), 1000000,3)

    i1=file("test.dat","wb")

      # How can I make this part below more efficient as its super slow now
      for (i in 1:nrow(DATA))
      {
        writeBin(DATA[i,1], i1, size = 4)
        writeBin(DATA[i,2], i1, size = 1)
        writeBin(DATA[i,3], i1, size = 4)
      }

    close(i1)

0 个答案:

没有答案