我正在尝试使用预测函数来预测空间转移中的潜在发生点。为此,我使用在原始空间中加载了存在点的dismo包,17个原始空间的栅格图层和17个用于传输空间的栅格图层。所有栅格在范围,网格分辨率和尺寸方面都是相同的,仅在地理坐标系中不同。 原始空间和转移空间位于不同的大陆和 我在训练和测试中使用了kfold技术来分割样品。
我适合我的maxent模型:
me<-maxent(predictor, training)
但是,我不能在转移空间中投射我的拟合模型,返回:
pred<-predict(me,predictor2)
Erro em .local(object, ...) : missing layers (or wrong names)
*预测变量1和2位于光栅堆栈文件中
*正确选择了所有目录,并将文件找到目录中。
* both,stack包含每个地理空间的相同变量
答案 0 :(得分:0)
那指的是'错误的名字'。这可以解决这个问题
names(predictor2) <- names(predictor)
但请确保这是正确的(即,两个RasterStack对象具有相同顺序的相同图层),通过检查
names(predictor2)
names(predictor)
答案 1 :(得分:0)
predict的栅格方法指定“ newdata”栅格(对象)是第一个参数,模型是第二个参数。
## S4 method for signature 'Raster'
predict(object, model, filename="", fun=predict, ext=NULL,
const=NULL, index=1, na.rm=TRUE, inf.rm=FALSE, factors=NULL,
format, datatype, overwrite=FALSE, progress='', ...)
尝试:
pred<-predict(predictor2, me)