0

我正在尝试读取多个二进制 (365) 文件并进行一些计算,然后读取到另一个文件夹。我遇到了两个问题:

首先:下面的代码给了我一个错误:

Warning message: closing unused connection 3 (C:\PHD\Climate Data\Out\Temperature_1.dat

setwd("C:\\PHD\\Climate Data\\Wind\\")
listfile<-dir()
for (i in c(1:365)) {
  conne <- file(`listfile[i], "rb")
  file<- readBin(conne, integer(), size=2,  n=360*720, signed=T)
  file<-file-273.15 #
  close(conne)
  to.write = file(paste("C:\\PHD\\Climate Data\\Out\\Temperature_",i,".dat",sep=""),"wb")
  writeBin(file, to.write)
  close(to.write) 
}

第二:由于我的文件是16bit,size=2,我想确保我的输出数据具有相同的大小。所以我只是添加size=2了, writeBin(file, to.write, size=2)但这给出了一个错误:

Error in writeBin(file, to.write, size = 2) :   size 2 is unknown on this machine.            

感谢任何有关正确编写二进制文件的帮助

4

1 回答 1

2

根据我所看到的,您正在尝试强制每个元素的大小为 2writeBin()的向量doubles。这是不可能的。

您可能能够as.integer(file)并尝试将结果向量写为元素,size=2但您必须尝试这样做。

于 2012-04-10T14:40:10.017 回答