问题标签 [spatstat]

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 投票
3 回答
340 浏览

r - 使用 R 中的齐次 Thomas 过程找到成人和青少年之间关联(配对相关)的模拟包络的方法

我已经标记了 ppp 对象(shp),其中包括:x 坐标,y 坐标,生长(“成人”、“青少年”、“树苗”)。

我使用齐次泊松过程发现了成人和青少年之间关联的模拟信封(使用配对相关函数)。

现在我想使用同质托马斯过程找到相同的东西。所以我将一个均匀的托马斯过程拟合到一个点模式对象上,使用

然后我尝试使用

但这没有用。如果有人有任何建议或任何替代方法来使用同质托马斯过程找到成人和青少年之间关联(使用配对相关函数)的模拟信封,我将非常感激。

0 投票
2 回答
661 浏览

r - 使用 lapply 创建 ppp 对象(包 spatstat)

我的最终目标是clarkevans.test使用包 spatstat 计算数据帧列表的 Clark-Evans-Index ( )。

所以我有一个我的点数据列表:

和绘图坐标列表:

我创建了一个owin对象列表:

现在我想创建ppp对象:

导致:

我不知道问题是使用 owin 对象列表还是我错误地使用 lapply 和 ppp 函数,因为我需要在这里引用两个列表但不知道如何。任何提示如何解决这个问题?

编辑)我也试过

但这不会返回 ppp 对象列表..

0 投票
3 回答
61 浏览

r - selfcrossing.psp 带有“详细信息”选项(如crossing.psp)

我在用

spatstat包中获取数据帧中包含的段之间的所有交叉点以及x每个交叉点来自何处的详细信息。

a但是,由于我对输入和输入都使用相同的数据帧b,因此每个交叉点在结果数据帧中出现两次xing_points。因此,对我来说,selfcrossing.psp()以下列形式使用 smarter 似乎很自然:

它解决了上述问题,但事实上缺乏details选项,因此不允许将每个交叉点跟踪回原始的相交段。

如何同时实现排除selfcrossing.psp()功能给出的重复和指示details

非常感谢。

0 投票
2 回答
119 浏览

r - 在 spatstat 中绘制残差而不覆盖点

这可能很简单,但我花了很多时间试图弄清楚没有任何运气,也许任何人都可以帮助我。

我通过 spatstat 中的 ppm() 函数拟合了点模式模型(下面的可重现代码),当我绘制残差时,它会自动在残差图像上绘制点,这使得很难看到任何东西。有谁知道如何避免它?

代码:

0 投票
2 回答
61 浏览

r - 通过 Geyer 模型的诊断.ppm 绘制平滑残差测量时出错

我正在尝试将 Geyer 模型拟合到点模式,并且我设法做到了没有麻烦。但是,当我想检查诊断图时,我遇到了一个问题。如果我为参数“which”赋予值“all”,它会毫无问题地绘制 4 个面板,但是当我只要求平滑残差测量时(which =“smooth”我得到以下错误:

Error in as.vector(rasterx.mask(W)) : error in evaluating the argument 'x' in selecting a method for function 'as.vector': Error in validate.mask(w) : w is not a binary mask

可重现的代码如下:

type=以同样的运气尝试了所有允许的选项。

有什么想法我可能做错了吗?(我假设是我)或者我怎样才能以其他方式获得平滑的残差?

0 投票
1 回答
480 浏览

r - 使用 R 将图像转换为 geotiff

我从点数据的形状文件开始。然后我将此格式转换为 ppp 格式以使用一些 spatstat 函数。

下面列出了执行此操作的代码:

然后我想做一些点模式分析,所以使用了以下 spatstat 函数:

然后我使用以下内容显示图像:

我接下来要做的是从上面创建一个 Geotiff 图像。我想这样做,因为我想将 tiff 图像覆盖在一些矢量数据之上。

我的问题是:

如何将上面的图像转换为 Geotiff 格式...?

0 投票
1 回答
156 浏览

spatstat - 如何处理以 mppm 为单位的时间相关性/趋势

再会,

我一直在通过Baddeley 等人工作。2015 年使用mppm {spatstat}将点过程模型拟合到多个点模式。我的点模式是保护区 ( owin ) 中大型食草动物的年度计数数据(即雄性/雌性动物的点位置 ( x, y ) * 5 年)。我有许多空间协变量,例如到河流的距离 (rivD) 和植被生产力 (NDVI)。

最初我拟合了一个模型,其中食草动物的反应是 rivD + NDVI 的函数,并允许系数因性别而异(参见下面可重复示例中的 mppm1)。然而,我的年度点模式在不同年份之间并不是独立的,因为存在随时间增加的趋势(即,与第 5 年相比,第 1 年的动物数量成倍增加)。所以我添加了年份作为随机效应,认为如果我允许截距每年改变,我可以解释这一点(见 mppm2)。

现在我想知道这是否是正确的方法?如果我正在拟合 GAMM gamm {mgcv},我会添加一个时间相关结构,例如correlation = corAR1(form=~year)但不认为这在mppm(参见 mppm3)中是可能的?

我真的很感激任何关于如何在复制点模式中处理这种时间相关结构的想法mppm {spatstat}

非常感谢

桑德拉

0 投票
2 回答
839 浏览

r - 在 spatstat 中使用“包络”函数对空间点模式超帧进行基于模拟的假设检验

我想使用复制的空间点模式在spatstat. spatstat有精彩的文档,您可以在此处找到有关复制点模式分析的详细信息:https ://cran.r-project.org/web/packages/spatstat/vignettes/replicated.pdf

几个映射的森林图将代表在不同位置工作的点过程。每个点图案都被标记,其中每个标记代表一个树种。此外,每个点模式都与协变量光栅图像相关联。首先,我想创建一个空模型,它假设每个标记与协变量有不同的关系。然后我想使用这个空模型来测试某些物种是否相互关联(或避免),通过模拟随机标记假设并绘制生成的模拟包络线。(随机标记假设指出标记是随机分配给点模式中的点的。)

首先,我将展示我通常如何使用单点模式进行此分析。然后我将解释我在使用超帧执行相同分析时遇到的两个问题。

假设您有一个标记点​​模式,其中每个标记都是树种。我将使用 spatstat 中可用的“lansing”数据集:

现在假设您想查看一些空间协变量(例如,土壤养分或水分),因此您创建了测量的核平滑密度的光栅图像:

首先创建空模型:

其中“ppm”函数将“marks”识别为具有物种名称的列,将“sim1”识别为协变量。

然后执行基于模拟的假设检验,您对 Black Oak 和 Maple 是否位于相同位置感兴趣。

这工作正常。现在,如果我们出去采样更多的图以使我们的分析更加稳健,我们可以将额外的图合并到超帧中,其中每个图都有自己的点模式并被视为“实验”复制。每个图也将获得自己的空间协变量:

Sim2 和 sim3 是我们收集的另外两个图的空间协变量,“超帧”函数将三点模式及其相关的空间协变量组合成一个超帧。

我想使用“mppm”(用于为多点模式创建模型)构建一个模型,其中每个点模式都由它们的空间协变量“sims”解释:

当我试图让每个标记与协变量具有不同的关系时,就会出现第一个问题:

吐出以下错误消息:

checkvars 中的错误(公式,data.sumry$col.names,extra = c(“x”,“y”,:公式中的变量“标记”不是数据中的名称之一)

我得到同样的错误使用:

第二个问题是弄清楚如何在超帧上运行基于模拟的假设检验。让我们使用有效的超帧模型(hyper.mod)来试试这个:

您收到一条错误消息:

UseMethod(“信封”)中的错误:没有适用于“信封”的适用方法应用于“c('mppm','list')”类的对象

暗示“信封”不适用于 mppm 对象(仅 ppp 或 ppm)。我怀疑有办法巧妙地绕过这个限制,但我还没有找到。任何建议或指导都会非常有帮助!

0 投票
1 回答
163 浏览

spatstat - 在翻转的 Java 坐标中绘图

我想从一个灰度图像中的 ImageJ 中的粒子分析中绘制一个 ppp 对象,该图像的大小为 imageSizeX、imageSizeY 的点对象 Particles$X、Particles$Y 在翻转的 Java 坐标中(y0 = 左上角)。我有一种可行的解决方案(自定义示例):

这导致以下情节(省略了图例):

在此处输入图像描述

但是我需要创建一个带有翻转坐标的空绘图命令(ylim = c(imageSizeY, 0)),然后必须添加 spatstat 图。

如果我尝试绘制:

坐标未翻转(ylim = c(imageSizeY,0)):

在此处输入图像描述

有没有办法在没有第一个定义绘图命令的情况下翻转 spatstat 中的绘图坐标?

0 投票
1 回答
1020 浏览

r - 点模式相似性和比较

我最近开始使用由医疗急救服务提供的庞大数据集。我有大约 25.000 个空间点的事件。

我在书籍和互联网上搜索了相当长的一段时间,并且越来越不知道该做什么以及如何去做。

当然,这些点非常聚集。我为它计算了 K、L 和 G 函数,它们证实了严重的聚类。

我还有人口点数据集——每个公民一个点,它与事件数据集类似地聚集在一起(事件发生在人身上,因此这两个数据集之间有很强的联系)。

我想比较这两个数据集以确定它们是否分布相似。我想知道,与人口相比,是否有地方发生了更多的事件。换句话说,我想使用人口数据集来解释强度,然后确定事件数据集是否对应于该强度。假设是,关于人口,事件应该随机出现。

如果事件是随机发生在人们身上,我想获得该区域的信息,其中的事件比预期的多或少。

你会如何用 R 来做呢?

我应该使用 Kest 还是 Kinhom 来计算 K 函数?我阅读了描述,但仍然不明白它们之间的基本区别是什么。

我尝试使用 Kcross,但我发现,使用的两个数据集之一应该是 CSR - 完全空间随机。我还找到了 Kcross.inhom,我应该将那个用于我的数据吗?

如何获得关于人口的事件偏差图(图像)?

我希望我问清楚了。

感谢您花时间阅读我的问题,如果您能回答我的任何问题,则更加感谢。

此致!

耶内伊