list1 という 1 つのフォルダーにマトリックス 586 *1383 として 4 つのファイルがあり、list2 という別のフォルダーにマトリックスとして他の 4 つのファイルがあります (list1 と flist2 は同じ次元です)。
フォルダ list2 内のファイルに基づいて、フォルダ list1 内のファイルをフィルタリングしたいと思います。したがって、フォルダー list1 ピクセル内の対応するファイルの値が 1000 を超える場合は常に、フォルダー list2 内のファイルの値を NA に置き換えたいと考えています。
:ダウンロードするファイルは次のとおりです。
1-私はこのループを試しましたが、結果を書いたときに奇妙なことがありました。つまり、私のループが正しくないということです。私のループが修正されました。
dir1<- list.files("C:\\list1", "*.img", full.names = TRUE)
dir2<- list.files("C:\\list2", "*.img", full.names = TRUE)
results<- list()
for (.files in seq_along(dir1)){
list1 <- readBin(dir1[.files], numeric(), size = 4, n = 1383*586, signed = TRUE)
list2 <- readBin(dir2[.files], integer(), size = 2, n = 1383*586, signed = TRUE)
results[[length(results) + 1L]]<- list1[list2 > 1000] <- NA}
for (i in seq_along(results)){
fileName <- sprintf("C:\\NewFile%03d.bin", i)
writeBin(as.double(results[[i]]), fileName, size = 4)}
2-どのコードが間違っているか教えてもらえますか?