Riverというファイルがあり、このファイルに値=1の関心領域があるとします。
マスクとして必要なファイルは、次のように読み取ることができます。
sd <- file("C:\\lai_28_06.bin", "rb")
river<- readBin(sd, integer(), size=2, n=360*720, signed=T)
以下に示すコードは、いくつかのバイナリファイル(366)から領域を抽出し、平均を計算します。ご覧のとおり、(X <-c(450:455); Y <-c(140:145))を使用して地域を選択しました。今、私は同じことをしたいのですが、ファイル「river」からの情報を使用します。たとえば、「river」= 1の場合、対応する値(aの下にリストされているファイルから)を考慮に入れ、それらの値の合計を値の数(単に平均)で除算します。
a<-list.files("C:\\New folder (13)", "*.bin", full.names = TRUE)
X<-c(450:455) ; Y<-c(140:145)
extract<-vector()
# construct a vector of file names and loop through
for (i in 1:366) {
conne <- file(k[i], "rb")
file<- readBin(conne, integer(), size=2, n=360*720, signed=T)
file2<-t(t(matrix(data=file,ncol=360,nrow=720)))
extract[i]<-mean(file2[X,Y])
close(conne)
}
write.table(extract,"C:\\yeinteg.txt")