0

複数のバイナリ (365) ファイルを読み取り、いくつかの計算を行ってから、別のフォルダーに読み取ろうとしています。私は2つの問題に直面しました:

最初:以下のコードは私にエラーを与えます:

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) 
}

2 番目: 私のファイルは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

私が見ることができることに基づいて、各要素を強制的にサイズ2にwriteBin()するベクトルを試みてdoublesいます。それは不可能です。

as.integer(file)結果のベクトルを要素として書き込もうとすることができるかもしれませんがsize=2、これを試す必要があります。

于 2012-04-10T14:40:10.017 に答える