我有 5 个具有相同尺寸的二进制文件(栅格):前四个文件代表参数 1,第五个文件代表具有 10 个类别的土地覆盖图。我想根据土地覆盖类别计算所有四个文件的平均值。所以最后我们会得到每个类对应的4个值。
我对所有文件都试过这个:
dir1<- list.files("C:\filesh", "*.img", full.names = TRUE)
fre <- file("C:\\landover_from Suj1440a.bin","rb")
sdf<- readBin(fre, integer(), size=1, n=1440*720, signed=F)
results<- list()
for (.files in seq_along(dir1)){
list1 <- readBin(dir1[.files], numeric(), size = 4, n = 1440*720, signed = TRUE)
list1=tapply(list1, sdf, mean, na.rm=TRUE)
results[[length(results) + 1L]]<- list1}
似乎它没有错误地工作。:写结果:
for (i in seq_along(results)){
write.table(results[[i]], paste("C:\\Users\\filesh\\data", ".txt", sep=""),append=TRUE)}
我将得到一个包含所有结果的文本文件,例如......
x
1 0.2
2 0.5
3 0.2
x
1 0.1
2 0.5
3 0.6
4-我希望输出是一个包含所有结果的文本文件,例如:
1 2 3 4 5 6 7 ...
x 0.2 0.5 0.2 . . . . ...
x 0.1 0.5 0.6
x . . . . . . . ...
x .
从我的搜索中,我发现我需要将它们写为数据框才能得到我正在寻找的东西。任何帮助。