如何使用Dismo的predict()与基于数据帧的最大模型

时间:2017-06-19 14:14:35

标签: r predict maxent dismo

我试图弄清楚dismo的预测功能如何根据用'x'构建的模型作为数据帧,而不是栅格图层。我已经使用栅格图层成功运行模型,并基于此创建了预测图。

我的模型构建如下;

library(dismo)
model <- maxent(x = sightings.data, p = presence.vector)

with sightings.data是一个包含GPS位置的数据框,其后是这些时间和位置的条件。 presence.vector是一个向量,指示行是存在还是背景点。

我希望找到答案;

  • 在给定此类型的模型的情况下提供预测的参数
  • 什么预测()能够从这样的模型提供

我已成功使用栅格图层运行模型,并根据此建立了预测图。

predict()的帮助文件不是特别详细,“使用R进行的种类分布建模”未成功涵盖此主题(仅列出的示例'无法运行此示例,因为maxent不可用'输出)。

我尝试使用仅包含我有栅格图层的变量的数据框进行建模,并尝试按照我对使用栅格构建的模型进行预测,但是我收到以下错误;

 Error in .local(object, ...) : missing layers (or wrong names)

我确保数据框列名和栅格图层具有相同的名称,不包括必需的纬度和经度列;

 names(raster.stack) <- colnames(sightings.data[3:5])

2 个答案:

答案 0 :(得分:0)

我从以下论文Oppel at al 2012中提供的代码中找到的方法表明,当提供输入变量的数据框时,dismo的预测可以产生相对值。

> predictions <- predict(model, variables)
> str(predictions)
  num [1:100] 0.635 ...

我仍然在寻找一种简单的方法来根据预测值创建预测的分布栅格地图。

答案 1 :(得分:0)

如果提供dismo :: maxent数据框,则该函数会将第一列识别为经度,将第二列识别为纬度。如果数据不遵循这种格式,则该功能将无法使用。