【发布时间】:2014-04-15 17:49:15
【问题描述】:
我有一个大的RasterBrick 对象,其中包含表示每个时间间隔(不规则)的生物量的栅格层时间序列。我需要的是两个连续时间段之间生物量差异的时间序列(difference in biomass = current biomass layer - last weeks biomass layer)。
我的想法是使用循环或其中一个应用函数来遍历RasterBrick,并为每个RasterLayer 应用时间序列中较早的一个减法函数。 RasterBrick 已排序,因此实际时间戳不一定重要。我试图找到例子,但未能取得进展。任何指针将不胜感激。
我在下面提供一个我的情况的快速示例:
library(raster)
随机设置 10 个栅格图层,放入 RasterStack
r <- raster(ncol=10, nrow=10)
;b <- brick( sapply(1:10, function(i) setValues(r, rnorm(ncell(r), i, 3))))
现在我需要一个包含 9 层的 RasterBrick,其结果为
生物量差异 = 当前生物量层 - 上周生物量层。
【问题讨论】:
-
什么是子集(r,2:nlayers(r))-子集(r,1:(nlayers(r)-1))
-
@mdsumner。很简单!工作出色。感谢您的宝贵时间。
-
r