在R中导入文本文件的速度更快?

时间:2012-10-24 21:28:15

标签: r io

我在R中调用FORTRAN程序并分析FORTRAN的输出文件,这个文件有点大(每次迭代大约50M)。对于每次迭代,大约需要50秒,其中read.table命令需要42秒。由于我需要重复此程序100,000次,我想知道是否有更好的方法来加快它?

例如,是否可以让FORTRAN将所有内容保存到内存中并将其传递给R?

谢谢!

1 个答案:

答案 0 :(得分:4)

绝对 - 在Fortran中将文件写为二进制文件,然后通过R中的readBin()读取它们非常快。但请确保检查字节顺序,四字节与八字节浮点数。

如果你想要一个经过测试的库,请查看各种序列化库,例如RProtoBuf等。不确定有多少有Fortran绑定但是...

编辑:add-ons page的协议缓冲区和Fortran没有好运。也许像hdf5这样的科学格式对你来说会更好。