使用cut()时如何处理NA?

时间:2013-03-19 16:49:10

标签: r na

我有两个二进制文件(1440 * 720)尺寸相同:我想根据第二个文件值(间隔)取第一个文件的平均值,该文件的值范围为1到7。每当第二个文件中的值介于0-1之间时,计算第一个文件中的相应平均值并返回结果,用2-3,3-4,5-6,7-8.no数据值做同样的事情被指定为NA。

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

1 个答案:

答案 0 :(得分:0)

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

aggregate(corr, list(cusBREAK), mean, na.rm=TRUE)