从另一个栅格堆栈创建栅格堆栈,但不包括原始图层使用tidyverse管道

问题描述

我想使用管道计算多个栅格图层(堆栈对象)的平均值和标准偏差。

require(dplyr)
require(raster)
require(dismo)
fnames <- list.files(path=paste(system.file(package="dismo"),'/ex',sep=''),pattern='Grd',full.names=TRUE )
predictors <- raster::stack(fnames[1:5])
predictors %>% raster::stack(mean(.),calc(.,sd,na.rm = T))

上面的代码有效,但是将原始图层保留在最终的栅格堆栈中。 结果如下:

class      : RasterStack 
dimensions : 192,186,35712,7  (nrow,ncol,ncell,nlayers)
resolution : 0.5,0.5  (x,y)
extent     : -125,-32,-56,40  (xmin,xmax,ymin,ymax)
crs        : +proj=longlat +datum=wgs84 +ellps=wgs84 +towgs84=0,0 
names      :      bio1,bio12,bio16,bio17,bio5,layer.1,layer.2 
min values : -23.00000,0.00000,61.00000,48.80000,43.48218 
max values :   289.000,7682.000,2458.000,1496.000,422.000,2436.000,3067.294 

我的问题是,是否有可能排除原始层(前5层)并仅将新层保留在最终输出中,而无需额外的子集或为此编写自定义函数

谢谢, 艾哈迈德(Ahmed)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)