【问题标题】:Excluding NAs from computing a raster mosaic从计算栅格马赛克中排除 NA
【发布时间】:2015-07-20 23:35:44
【问题描述】:

不幸的是,由于我没有足够的声誉(并且无法对该主题发表评论),因此我必须针对已经存在的问题提出一个简单的问题。我在 R 中计算光栅马赛克并坚持这个过程:How can I create raster mosaic using list of rasters?(非常感谢!)。

我唯一的问题是,我想使用中位数或平均值来计算它不包括我的 NA。 很抱歉,我没有设法将它包含到现有代码中:

b1_listargs <- b1_unstack
b1_listargs$fun <- mean
b1_mosaic <- do.call(mosaic, b1_listargs)

据我了解,它不会自动排除 NA。因此,鉴于c(4,4,4,4,NA)mean 我的计算值将变成NA - 这对我来说作为输出没有用......

感谢您的帮助!

【问题讨论】:

    标签: r raster na


    【解决方案1】:

    看看这个页面:http://stat.ethz.ch/R-manual/R-devel/library/graphics/html/mosaicplot.html

    这表明存在省略 NA 的参数。

    【讨论】:

    • 我不想绘制马赛克而是生成它。因为我有很多层,所以我坚持上面的代码。一个简单的mosaic(b1_unstack,fun=mean, na.rm=TRUE) 是不可能的,因为b1_unstack 是一个列表,并且镶嵌命令不再接受列表 - 根据上面的链接。这就是为什么我不得不坚持这个代码示例并想以某种方式包含na.rm=T
    • 您是否尝试过在自己的行中简单地执行 na.omit(yourmosaic)?
    • 据我了解,马赛克是从其他一些层计算的过程。我可以使用meanmedian 之类的函数来获取马赛克的值(由许多其他层派生)。我的目标是排除已经在这个计算过程中的 NA(mean 与 NA 不同 mean 没有 NA)。我认为您的功能仅适用于删除已经存在/计算的马赛克的 NA。
    • 据我了解,上面的功能不会自动排除 NA。因此,鉴于c(4,4,4,4,NA)mean,我的计算值将变成NA - 这对我来说作为输出没有用......
    【解决方案2】:

    我知道这个问题有点老了,但我也有同样的情况,我会试试:

    其中“A”是我的栅格列表

    A$fun <- mean
    Mosaic <- do.call(mosaic, list(A,na.rm=T))
    

    这应该在计算重叠栅格之间的平均值时忽略缺失值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-23
      • 1970-01-01
      • 1970-01-01
      • 2014-11-09
      • 1970-01-01
      • 1970-01-01
      • 2012-08-28
      • 1970-01-01
      相关资源
      最近更新 更多