4

我有两个具有 (1440*720) 相同尺寸的二进制文件:我想根据第二个文件值(间隔)取第一个文件的平均值,这个文件的值范围从 1 到 7。只要值在0-1之间的第二个文件范围内,计算第一个文件中对应的平均值并返回结果,对2-3,3-4,5-6,7-8做同样的事情。没有数据值被分配为不适用。

1-读取第一个文件:

   conne <- file("C:\\corr.bin","rb")
  corr<- readBin(conne, numeric(), size=4,  n=1440*720, signed=TRUE)

2-读取第二个文件:

    conne1<- file("C:\\use.bin","rb")
   cus<- readBin(conne1, numeric(), size=4,  n=1440*720, signed=TRUE)

       cusBREAK <- cut(cus,10:80))
      (corrMEAN <- aggregate(corr, list(cusBREAK), mean))

但是我得到了 NA,这意味着如果其中一个像素中有 NA,则将平均值返回为 NA。

        (corrMEAN <- aggregate(corr, list(cusBREAK), mean))
      Group.1   x
     1   (0,1] NaN
     2   (1,2] NaN
     3   (2,3] NaN
     4   (3,4] NaN
     5   (4,5] NaN
4

1 回答 1

-1

似乎您需要告诉mean函数省略NA值:

aggregate(corr, list(cusBREAK), mean, na.rm=TRUE)
于 2013-03-20T08:04:42.743 回答