问题描述
我想使用管道计算多个栅格图层(堆栈对象)的平均值和标准偏差。
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 (将#修改为@)