首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将Dismo的predict()与基于数据的maxent模型一起使用

如何将Dismo的predict()与基于数据的maxent模型一起使用
EN

Stack Overflow用户
提问于 2017-06-19 14:14:34
回答 3查看 1.1K关注 0票数 0

我试图弄清楚dismo的预测函数是如何以“x”作为数据层(而不是光栅层)构建的模型运行的。我已经成功地运行模型使用光栅层,并在此基础上制作了预测地图。

我的模型如下;

代码语言:javascript
复制
library(dismo)
model <- maxent(x = sightings.data, p = presence.vector)

sightings.data是一个包含全球定位系统观测地点的数据,然后是这些时间和地点的条件。presence.vector是表示某一行是存在点还是背景点的向量。

我想找出答案;

  • 给定这种类型的模型,提供什么参数来预测?
  • 预测()能够从这样的模型中提供什么

我已经成功地运行模型使用光栅层,并在此基础上制作了预测地图。

用于预测()的帮助文件并不特别详细,“使用R的物种分布模型”也没有成功地涵盖这个主题(仅列出的示例‘无法运行此示例,因为maxent是不可用的’输出)。

我尝试过用只包含栅格层变量的数据进行建模,并尝试像用光栅构建模型那样进行预测,但我得到了以下错误;

代码语言:javascript
复制
 Error in .local(object, ...) : missing layers (or wrong names)

我确保了dataframe列名和栅格层具有相同的名称,但不包括强制的纬度和经度列;

代码语言:javascript
复制
 names(raster.stack) <- colnames(sightings.data[3:5])
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-06-22 11:39:18

在下面的文章中,我从代码中找到了一个方法,Oppel at al 2012证明了,当提供输入变量的数据时,dismo的预测可以产生相对值。

代码语言:javascript
复制
> predictions <- predict(model, variables)
> str(predictions)
  num [1:100] 0.635 ...

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

票数 0
EN

Stack Overflow用户

发布于 2020-03-19 06:27:38

如果提供dismo::maxent a dataframe,则函数将识别第一列为经度,第二列为纬度。如果数据不遵循这种格式,则该函数将无法工作。

票数 0
EN

Stack Overflow用户

发布于 2022-04-12 12:54:06

在这种格式中,目击数据不需要包括GPS位置,因此您可以从sightings.data中删除x&y列。然后可以运行模型,然后可以使用与sightings.data列名中的名称相同的栅格名称预测到光栅堆栈。

预测是在你的栅格堆中寻找GPS位置,我猜这些位置不存在。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44632961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档