如何解决从另一个栅格堆栈创建栅格堆栈,但不包括原始图层使用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 举报,一经查实,本站将立刻删除。