我想获得物种分布建模未来情景的所有生物气候变量。因此,我使用 worldclim 数据库中的三个变量在“dismo”包中运行“biovars”函数,得到一个 12 层的 RasterBrick:
prec<-stack(paste(getwd(),"/prec_2080/wc_2_5m_HADCM3_B2a_2080_prec_",1:12,".bil",sep=""))
tmin<-stack(paste(getwd(),"/tmin_2080/wc_2_5m_HADCM3_B2a_2080_tmin_",1:12,".bil",sep=""))
tmax<-stack(paste(getwd(),"/tmax_2080/wc_2_5m_HADCM3_B2a_2080_tmax_",1:12,".bil",sep=""))
x<-biovars(prec=prec,tmin=tmin,tmax=tmax)
x
class : RasterBrick
dimensions : 3600, 8640, 12 (nrow, ncol, nlayers)
resolution : 0.04166667, 0.04166667 (x, y)
extent : -180, 180, -60, 90 (xmin, xmax, ymin, ymax)
projection : NA
values : C:/DOCUME~1/Marco/LOCALS~1/TMP/R_raster_tmp/raster_tmp_8984740455.grd
min values : 42 -65458 -1017 0 71 0 -65439 22 23 56 ...
max values : 65456 213 1 34159 65534 65513 65534 65507 65503 65518 ...
但是,我认为应该有 19 个 bioclim 变量。正如您所提到的,除了那里之外,biovars 中还有更多参数,但我不知道它们是什么。你能帮帮我吗?
另一个问题是我在编写这些变量时出错:
writeRaster(x,paste(getwd(),"/wc_2_5m_HADCM3_B2a_2080_1.grd",sep=""))
dim(res) <- c(ncols, raster@data@nlayers * nrows) 中的错误:dims [产品 933120] 与对象的长度不匹配 [889920]
而且,当我尝试逐个编写它们时,出现以下错误:
for (i in 10:12) {
writeRaster(x[[i]],paste(getwd(),"/wc_2_5m_HADCM3_B2a_2080_",i,".grd",sep=""),overwrite=TRUE)
}
结果错误 [, i] <- readBin(raster@file@con, what = dtype, n = ncols, : 替换长度为零
三个输入变量具有相同的维度,例如:
prec
class : RasterStack
dimensions : 3600, 8640, 12 (nrow, ncol, nlayers)
resolution : 0.04166667, 0.04166667 (x, y)
extent : -180, 180, -60, 90 (xmin, xmax, ymin, ymax)
projection : NA
min values : 0 0 0 0 0 0 0 0 0 0 ...
max values : 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 ...
有人可以解释为什么吗?先谢谢了~