是什么原因导致R中的栅格计算中的calc和cellStats之间存在差异?

斯蒂金

我正在使用由20层组成的数据集,这些数据集堆叠在RasterBrick中(源自数组)。我已经研究了通过“ calc”和“ cellStats”计算得出的层的总和。我已使用calc计算总值的总和,并使用cellStats查看每层值的平均值(对于时间序列很有用)。但是,当我对每一层的平均值求和时,它是其他计算得出的总和的一半。是什么原因导致这种差异?我在俯视什么?

代码如下:

testarray <- runif(54214776,0,1) 
# Although testarray should contain a raster of 127x147 with 2904 time layers. 
# Not really sure how to create that yet. 

for (i in 1830:1849){
  slice<-array2[,,i]
  r <- raster(nrow=(127*5), ncol=(147*5), resolution =5, ext=ext1, vals=slice)
  x <- stack(x , r)
}

brickhp2 <- brick(x)

r_sumhp2 <- calc(brickhp2, sum, na.rm=TRUE)
r_sumhp2[r_sumhp2<= 0] <- NA


SWEavgpertimestepM <- cellStats(brickhp2, stat='mean', na.rm=TRUE)

目的是将用“ calc(x,sum)”计算的层的总和与用“ cellStats(x,mean)”计算的平均值的总和进行比较。

Rasterbrick看起来像这样(600kb,GTiff):http : //www.filedropper.com/brickhp2 *如果有更好的共享方式,请告诉我。

琼斯博士

使用时会产生混淆,它会calc在砖块上按像素进行操作(即,对每个像素的20个值执行计算并返回一个栅格图层),cellStats并对每个栅格图层分别执行计算并返回一个栅格值每层。如果使用以下代码,则可以看到结果是可比的:

library(raster)
##set seed so you get the same runif vals
set.seed(999)

##create example rasters
ls=list()
for (i in 1:20){
  r <- raster(nrow=(127*5), ncol=(147*5), vals=runif(127*5*147*5))
  ls[[i]] <- r
}
##create raster brick
brickhp2 <- brick(ls)

##calc sum (pixel-wise)
r_sumhp2 <- calc(brickhp2, sum, na.rm=TRUE)
r_sumhp2 ##returns raster layer

##calc mean (layer-wise)
r_meanhp2 <- cellStats(brickhp2, stat='mean', na.rm=TRUE)
r_meanhp2 ##returns vector of length nlayers(brickhp2)

##to get equivalent values you need to divide r_sumhp2 by the number of layers 
##and then calculate the mean
cellStats(r_sumhp2/nlayers(brickhp2),stat="mean")

[1] 0.4999381

##and for r_meanhp2 you need to calculate the mean of the means
mean(r_meanhp2)

[1] 0.4999381

您需要自己确定是否要在应用程序中使用像素或逐层结果。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

是什么原因导致客户端。调用rpc在Go(golang)中返回错误?

来自分类Dev

是什么原因导致BigQuery中的“资源超出”?

来自分类Dev

是什么原因导致*中*个项目的性能出现这种奇怪的下降?

来自分类Dev

是什么原因导致更改Lilypond文档中的默认音乐字体时出现此错误?

来自分类Dev

是什么原因导致性能下降?

来自分类Dev

是什么原因导致“目标多字节代码页中不存在Unicode字符的映射”?

来自分类Dev

是什么原因导致某些网站嵌入在Google Chrome浏览器的iframe中?

来自分类Dev

如何检测是什么原因导致Rake中的弃用警告

来自分类Dev

是什么原因导致[* A],以overallocate?

来自分类Dev

是什么原因导致无法使用AngularJS和Codeigniter 3在MySQL表中插入数据失败?

来自分类Dev

是什么原因导致错误:此代码中的重新渲染次数过多?

来自分类Dev

是什么原因导致该组件在我的Svelte应用程序中创建时没有预期的prop错误?

来自分类Dev

是什么原因导致Windows和Linux之间的malloc()和free()行为出现差异?

来自分类Dev

是什么原因导致访问非空列表中的第一个元素时出现IndexError?

来自分类Dev

react js中./和../路径之间的差异”是什么?

来自分类Dev

是什么原因导致无法从数据库中读取对象的属性?

来自分类Dev

是什么原因导致Bootcamp中的Windows 8.1自动重新引导到OSX Mavericks?

来自分类Dev

是什么原因导致QuickBooks Online API中的实体表锁定?

来自分类Dev

是什么原因导致“不再激活扫描到计算机”错误消息?

来自分类Dev

是什么原因导致“ Uncaught SyntaxError:意外令牌”。在我的应用程序中?

来自分类Dev

是什么原因导致fastxml classmate中的此java.lang.ClassCastException

来自分类Dev

是什么原因导致此网站在Chrome 76中出现这种奇怪的垂直线毛刺?

来自分类Dev

是什么原因导致Chrome中页面底部的空白?

来自分类Dev

是什么原因导致Wi-Fi 802.11n速度出现这种差异?

来自分类Dev

是什么原因导致弹跳失败?

来自分类Dev

是什么原因导致错误?

来自分类Dev

是什么原因导致我的日志中充斥着低速USB设备通知?

来自分类Dev

是什么原因导致网站呈现差异?

来自分类Dev

什么原因导致双向链表代码中的分段错误

Related 相关文章

  1. 1

    是什么原因导致客户端。调用rpc在Go(golang)中返回错误?

  2. 2

    是什么原因导致BigQuery中的“资源超出”?

  3. 3

    是什么原因导致*中*个项目的性能出现这种奇怪的下降?

  4. 4

    是什么原因导致更改Lilypond文档中的默认音乐字体时出现此错误?

  5. 5

    是什么原因导致性能下降?

  6. 6

    是什么原因导致“目标多字节代码页中不存在Unicode字符的映射”?

  7. 7

    是什么原因导致某些网站嵌入在Google Chrome浏览器的iframe中?

  8. 8

    如何检测是什么原因导致Rake中的弃用警告

  9. 9

    是什么原因导致[* A],以overallocate?

  10. 10

    是什么原因导致无法使用AngularJS和Codeigniter 3在MySQL表中插入数据失败?

  11. 11

    是什么原因导致错误:此代码中的重新渲染次数过多?

  12. 12

    是什么原因导致该组件在我的Svelte应用程序中创建时没有预期的prop错误?

  13. 13

    是什么原因导致Windows和Linux之间的malloc()和free()行为出现差异?

  14. 14

    是什么原因导致访问非空列表中的第一个元素时出现IndexError?

  15. 15

    react js中./和../路径之间的差异”是什么?

  16. 16

    是什么原因导致无法从数据库中读取对象的属性?

  17. 17

    是什么原因导致Bootcamp中的Windows 8.1自动重新引导到OSX Mavericks?

  18. 18

    是什么原因导致QuickBooks Online API中的实体表锁定?

  19. 19

    是什么原因导致“不再激活扫描到计算机”错误消息?

  20. 20

    是什么原因导致“ Uncaught SyntaxError:意外令牌”。在我的应用程序中?

  21. 21

    是什么原因导致fastxml classmate中的此java.lang.ClassCastException

  22. 22

    是什么原因导致此网站在Chrome 76中出现这种奇怪的垂直线毛刺?

  23. 23

    是什么原因导致Chrome中页面底部的空白?

  24. 24

    是什么原因导致Wi-Fi 802.11n速度出现这种差异?

  25. 25

    是什么原因导致弹跳失败?

  26. 26

    是什么原因导致错误?

  27. 27

    是什么原因导致我的日志中充斥着低速USB设备通知?

  28. 28

    是什么原因导致网站呈现差异?

  29. 29

    什么原因导致双向链表代码中的分段错误

热门标签

归档