问题标签 [dismo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
146 浏览

r - 格式化数据点颜色(两种颜色,一张地图) - 对 R 来说非常新

我需要将数据点格式化为我在新西兰的点为黄色,为我在澳大利亚的点设置为红色。

怎么做到呢?

我可以分别更改地图智利部分和澳大利亚/新西兰部分的颜色,但我不知道如何在澳大利亚/新西兰内更改颜色。

这是我的地图

0 投票
1 回答
429 浏览

evaluate - 使用 MaxEntReplicates 的评估函数

我在 dismo 包中使用 Maxent 函数来创建一些物种分布模型。

通常这是有效的:

但是当我用复制品创建这个模型时

评估功能不起作用。它给出了一个错误

任何想法为什么?或如何解决?

这是可重现的代码:

0 投票
0 回答
239 浏览

r - 如何获得增强回归树模型的标准误差图?

我正在使用 R gbm 和 dismo 库来创建景观 CO2 排放的增强回归树 (BRT)。

我正在使用栅格预测功能获取 CO2 估算地图。例如,如果 Stacked 是我的输入预测变量的栅格堆栈,而 BRT1 是我的增强回归树模型,那么我的 CO2 估计空间参考图通过以下方式获得:

CO2 <- predict(Stacked, BRT1, type="response", n.trees = 1000)

我想要一张 CO2 标准误差的相关地图。我知道对于其他模型(例如 GLM),我可以添加se.fit=TRUE以获得标准误差 + 预测值。由于这不适用于 BRT,我想知道还有哪些其他选项可用。

提前谢谢了!

0 投票
0 回答
165 浏览

r - 修正后增强回归树中残差的空间自相关

我在 R 中运行增强回归树 (BRT),使用该软件包,并且我已经包含了一个预测变量(残差自协变量),在Crase et al (2012)dismo的一篇论文之后,理论上它可以纠正空间自相关。我的数据单元是矢量格式的网格单元。我已经定义了二元邻居(即它们都具有相同的权重。我没有任何理由考虑任何其他类型)和“女王”类型(在我的情况下,即与每个网格单元有任何联系的那 8 个邻居) )。

我正在使用这些 BRT 将环境预测因子与全球范围内的不同生物多样性指标(响应)联系起来。

问题是,即使按照我上面公开的方式进行了校正,残差仍然具有空间相关性(以全局 Moran's I 衡量)。我以前用过这种方法,从来没有遇到过这个问题。所以,我有两个问题:

  1. 有没有办法解决这个问题

  2. 有剩余的空间自相关有那么糟糕吗?我知道全球物种丰富度(例如)具有这个特征,当然,所有模型都会错过一些预测因子,以充分解释动物群的这种自然聚集

欢迎任何想法!

谢谢你。

0 投票
0 回答
318 浏览

r - 在 R 的 dismo 包中执行 bioclim 方法的问题

我正在尝试使用 R 中“dismo”包中的 bioclim 方法运行物种分布建模。

安装必要的包然后加载它后,一切似乎正常。

并且“dismo”包出现在Rstudio的包框中,它也被选中。

但是,在我尝试运行 bioclim 方法后,出现以下错误。

当我尝试检查该方法的“帮助”部分时,出现以下错误:

这是我使用的完整代码

谁能解释为什么会出现这样的错误以及如何解决?先谢谢了~

0 投票
1 回答
256 浏览

r - 无法使用 dismo gmap() 获取地图

我正在尝试遵循此处找到的教程: https ://data.cdrc.ac.uk/tutorial/aa5491c9-cbac-4026-97c9-f9168462f4ac/4b026153-2953-4173-ab44-b24b2fb559fd

注意:该教程需要免费登录才能访问

我在教程中坚持的步骤是这段代码:

我无法让 dismo::gmap() 工作。每次我运行它,我得到

当我将它指向任何其他位置时,会弹出相同的错误。任何人都可以帮忙吗?

0 投票
1 回答
48 浏览

r - 在生成伪缺席数据时如何包括时间方面?

我对卫星标记的海龟有 608 次观察。我想用包括海面温度、当前速度、风速等在内的环境数据对这些进行建模。当然,标记和环境数据都会在空间和时间上发生变化。我使用从这里改编的下面的代码生成了伪缺席数据。但是,我现在意识到我生成的数据点只是空间样本。有什么方法可以编辑此代码以进行临时采样,以便生成的 csv 具有每个点的日期/时间,以便我可以将其与我的环境数据相匹配?或者,我可以尝试一个不同的包来允许我这样做吗?

0 投票
1 回答
1433 浏览

r - 有没有更好的方法来处理跨越反子午线(日期线)的 SpatialPolygons?

TL;博士

R中处理在纬度+/- 180°处与反子午线相交/重叠的SpatialPolygons并将它们沿该子午线切成两部分的最佳方法是什么?

前言

这将是一篇很长的文章,但这只是因为我将包含大量代码和图表以进行说明。我将向您展示我的目标是什么以及我通常如何实现这一目标,然后在一个字面的边缘案例中演示它们是如何组合在一起的。正如标题所示,我已经找到了一种可能的解决方案来解决我的问题,因此我也会将其包括在内。但它不是 100% 干净的,我想看看是否有人能想出更优雅的东西。无论如何,我认为这是一个有趣的问题,因为就在几天前,我做梦也不会怀疑这甚至可能在 2019 年成为一个问题。

R中的常规工作流程

首先,创建一个有效的示例数据集

看起来像这样: 世界地图上的位置 然后,我使用 dismo 包中的 circles() 在这些位置周围创建循环缓冲区。我使用这个函数,因为它考虑到地球不是平的:

看起来像这样: 具有各自缓冲区的位置

然后,将单个缓冲区合并为一个大(多)多边形:

这正是我需要的: 具有合并缓冲区的点

问题

现在观察当我们引入非常接近缓冲区必须越过该线的反子午线(经度+/-180°)的位置时会发生什么:

circles() 命令确实设法在反子午线的另一侧创建多边形段(如果溶解 = FALSE):

在此处输入图像描述

但多边形穿过整个地球而不是正确环绕(与 0° 相交而不是 180°)。这会导致自相交和

将失败

gUnaryUnion(buffr@polygons) 中的错误:TopologyException:输入几何 0 无效:在点 170.08604674698876 12.562175561621103 处或附近自相交 170.08604674698876 12.562175561621103

快速且略显肮脏的解决方案

首先,我们需要检测一个多边形是否穿过反子午线。但是,它们实际上都没有相交 +/-180°。相反,我使用了两条伪经线,它们靠近真实经线,但距离东西方足够远,可能与所讨论的多边形相交。如果一个多边形与它们两者相交,它也必须穿过反子午线。

在检测并分离出“坏”多边形后,我只需通过查看纵向坐标将它们分成两个单独的部分。每个具有负值的坐标对进入新的西部多边形,正值进入东部多边形。然后我只是将它们重新合并在一起,做我的 gUnaryUnion 并拥有我需要的东西:

最终结果: 合并缓冲区,问题解决了吗?

实际问题

所以,这个解决方案适用于我当前的用例,但它有一些问题:

  • 一旦其中一个缓冲区穿过反子午线和本初子午线,它可能会完全中断(如果原始点位置靠近两极,这不太可能)。
  • 这不是很精确,因为两个多边形部分不是在 +/-180° 处切割,而是在原始多边形中存在的最高负/正纬度值处切割。
  • 我很难相信没有“正确”的方式来做到这一点。

所以这一切归结为一个问题:有没有更好的方法来做到这一点

当我试图弄清楚这一点时,我发现了包中的nowrapRecenter()andnowrapSpatialPolygons()函数maptools,乍一看,它们看起来就像我想要的那样。经过仔细检查,它们几乎针对相反的用例(以反子午线为中心,从而沿本初子午线切割多边形)。我和他们一起玩,但没有让他们为我工作——事实上,他们只会让事情变得更糟。

感谢您的关注!

0 投票
0 回答
219 浏览

r - R Dismo包:maxent结果的测试AUC和评估()函数的差异

我想问一个关于 R 中 dismo 包中的方法的更理论问题:为什么在评估()函数和 maxent 中测试数据的 AUC 之间产生的曲线特征下面积(AUC)如此不同( ) 目的?

为了说明 maxent 模型的 AUC 和评估,我添加了用于计算这两个值的脚本。

最大对象:

评估():

我希望这两种方法能够产生相似的结果,但是使用 maxent AUC 的第一种方法会导致我的模型的值要低得多......如果您能分享一些这方面的知识,非常感谢。

0 投票
1 回答
119 浏览

r - 如何将一个模型复制 10 次并从中提取几个对象(测试结果),然后求平均值?

请原谅我的长问题,但我真的希望有人可以尝试帮助我改进我的代码。基本上这就是我想做的:用不同的输入重复相同的模型(例如随机森林)10 次。作为每次迭代的结果,我想从每个模型中提取几个参数,并且在所有迭代之后从它们产生平均值和标准偏差(例如平均 AUC,平均偏差)。我可能会上传输入文件,但我的问题与不直接依赖它们的步骤有关,我认为它可以使用一些编码来解决。这是一个例子:

我正在使用来自伴随“dismo”包的小插图中的数据处理物种分布模型。所有代码都可以在这里找到:https ://rspatial.org/raster/sdm/6_sdm_methods.html#random-forest 首先我正在创建物种出现(pb=1)和伪缺失(pb=0)的数据)。这些伴随着两列中的经度和纬度坐标,后来的环境变量被连接到每个点。这里一切正常,所以我可以创建一个模型。但我想制作几个模型并平均它们的结果。

这些是我最初的步骤:

我运行模型:

然后我想运行相同的模型但使用不同的背景点。因此,在这种情况下,我制作了另一个输入文件,其中包含来自整个数据集的另外 1000 个随机点:

在这个例子中,a 只重复了 2 次,但理想情况下我想做 10 次或 100 次。如何使它更优雅和自动,而不是手动创建 100 个对象..?