R 如何计算光栅堆栈中的更改百分比?

R 如何计算光栅堆栈中的更改百分比?,r,statistics,time-series,raster,R,Statistics,Time Series,Raster,我有一个土地覆盖图的光栅堆栈(年度时间序列),我想计算变化的百分比。我找到了,但我不清楚。有什么办法吗 假设我的光栅堆栈名为r\u stk,目前我计算的唯一统计数据是sd和cv 关于如何计算百分比变化有什么想法吗 r_stk_sd<-calc(r_stk, fun=sd) r_stk_cv<-r_stk_sd/r_stk_Mean r\u stk\u sd以下是一些示例数据。从?光栅::堆栈 library(raster) s <- stack(system.file("ex

我有一个土地覆盖图的光栅堆栈(年度时间序列),我想计算变化的百分比。我找到了,但我不清楚。有什么办法吗

假设我的光栅堆栈名为
r\u stk
,目前我计算的唯一统计数据是
sd
cv

关于如何计算百分比变化有什么想法吗

r_stk_sd<-calc(r_stk, fun=sd)
r_stk_cv<-r_stk_sd/r_stk_Mean

r\u stk\u sd以下是一些示例数据。从
?光栅::堆栈

library(raster)
s <- stack(system.file("external/rlogo.grd", package="raster")) 
或相对于第1年的每个“年”

cellStats(x, "mean")
#    green      blue 
#0.6218336 0.7891218 
如果你想逐年改变,你可以这样做

 s1 <- s[[2:nlayers(s)]]
 s2 <- s[[1:(nlayers(s)-1)]]
 z <- s1 != s2
 cellStats(z, "mean")
 #     green      blue 
 # 0.6218336 0.7672624 

s1以下是一些示例数据。从
?光栅::堆栈

library(raster)
s <- stack(system.file("external/rlogo.grd", package="raster")) 
或相对于第1年的每个“年”

cellStats(x, "mean")
#    green      blue 
#0.6218336 0.7891218 
如果你想逐年改变,你可以这样做

 s1 <- s[[2:nlayers(s)]]
 s2 <- s[[1:(nlayers(s)-1)]]
 z <- s1 != s2
 cellStats(z, "mean")
 #     green      blue 
 # 0.6218336 0.7672624 
s1
 s1 <- s[[2:nlayers(s)]]
 s2 <- s[[1:(nlayers(s)-1)]]
 z <- s1 != s2
 cellStats(z, "mean")
 #     green      blue 
 # 0.6218336 0.7672624