我有一个 Fortran 模型,我想强制使用来自 R 开发的模型的数据,但我在两个环境之间传输数据时遇到问题。我正在考虑使用 .bin 文件。
我在 R 中所做的是使用writeBin
将多维数组存储在 .bin 文件中:
a = seq(1,150,1)
my.array <- array(a, dim=c(10,5,3))
zz <- file("test.bin", "wb")
writeBin (as.vector(my.array),zz)
close(zz)
我可以再次毫无问题地读取 R 中的 .bin 文件...
zz <- file("test.bin", "rb")
a1 = readBin(zz,"numeric", n=150)
close(zz)
my.array1 <- array(a1, dim=c(10,5,3))
my.array1
但是,当我尝试使用以下代码在 Fortran 中打开它时,无法正确识别格式。
PROGRAM playground
implicit none
! Type declarations
real, dimension (5,10,3) :: a
! read binary
open(unit = 10, status='old',file='test.bin', form='formatted', action='read')
read(10,"(f11.3)") a
print*,a
END PROGRAM playground
PROGRAM playground
我假设我在中使用了错误的格式read
命令,但不确定我哪里出错了,因为 Fortran 对我来说是新的。有什么建议么?