我试图弄清楚dismo的预测函数是如何以“x”作为数据层(而不是光栅层)构建的模型运行的。我已经成功地运行模型使用光栅层,并在此基础上制作了预测地图。
我的模型如下;
library(dismo)
model <- maxent(x = sightings.data, p = presence.vector)sightings.data是一个包含全球定位系统观测地点的数据,然后是这些时间和地点的条件。presence.vector是表示某一行是存在点还是背景点的向量。
我想找出答案;
我已经成功地运行模型使用光栅层,并在此基础上制作了预测地图。
用于预测()的帮助文件并不特别详细,“使用R的物种分布模型”也没有成功地涵盖这个主题(仅列出的示例‘无法运行此示例,因为maxent是不可用的’输出)。
我尝试过用只包含栅格层变量的数据进行建模,并尝试像用光栅构建模型那样进行预测,但我得到了以下错误;
Error in .local(object, ...) : missing layers (or wrong names)我确保了dataframe列名和栅格层具有相同的名称,但不包括强制的纬度和经度列;
names(raster.stack) <- colnames(sightings.data[3:5])发布于 2017-06-22 11:39:18
在下面的文章中,我从代码中找到了一个方法,Oppel at al 2012证明了,当提供输入变量的数据时,dismo的预测可以产生相对值。
> predictions <- predict(model, variables)
> str(predictions)
num [1:100] 0.635 ...我仍然在寻找一种简单的方法来根据这些预测值创建一个预测的分布栅格图。
发布于 2020-03-19 06:27:38
如果提供dismo::maxent a dataframe,则函数将识别第一列为经度,第二列为纬度。如果数据不遵循这种格式,则该函数将无法工作。
发布于 2022-04-12 12:54:06
在这种格式中,目击数据不需要包括GPS位置,因此您可以从sightings.data中删除x&y列。然后可以运行模型,然后可以使用与sightings.data列名中的名称相同的栅格名称预测到光栅堆栈。
预测是在你的栅格堆中寻找GPS位置,我猜这些位置不存在。
https://stackoverflow.com/questions/44632961
复制相似问题