有人可以告诉我这个文件的格式是什么以及如何在R中读取它?我被告知它可以在Fortran中阅读,但我没有Fortran编译器。
我试图用read.fortran()和read.fwf以及readBin()命令弄明白,但没有运气。
感谢。
答案 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字节浮点数。