如何在R中读取此fortran二进制文件

时间:2014-06-06 03:15:29

标签: r file binary fortran

有人可以告诉我这个文件的格式是什么以及如何在R中读取它?我被告知它可以在Fortran中阅读,但我没有Fortran编译器。binary file

我试图用read.fortran()和read.fwf以及readBin()命令弄明白,但没有运气。

感谢。

1 个答案:

答案 0 :(得分:3)

该模式使其看起来像4字节实体(注意序列00 42的重复出现)。我猜想浮动值。

将文件的前6个值重新生成test.dat即可:

0000000 f0 61 08 00 00 00 00 00 e4 db 00 42 85 e1 00 42
0000020 fc df 00 42 87 de 00 42
0000030

通过指定大小:

将这些内容与readBin一起读入R.
readBin("test.dat", what=double(), size=4, n=6)
## [1] 7.698173e-40 0.000000e+00 3.221474e+01 3.222023e+01 3.221873e+01 3.221731e+01

这看起来很合理,所以我假设我对4字节浮点数的猜测是正确的。我正在研究一台小端(Intel)机器。如果您的是big-endian,则需要指定endian='little'才能获得相同的结果。

R同意我的C编译器关于这些值,所以它确实用上面的表达式读取了小端IEEE 4字节浮点数。