- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想用 spatstat::ppm
拟合泊松点过程模型,但我不确定向函数提供协变量数据的最佳方法是什么。我知道 spatstat
需要平面坐标,因此在创建 ppp
点模式对象之前,我已将点位置数据转换为平面 crs。协变量数据位于具有未投影地理坐标的栅格堆栈中,我了解 projecting rasters is generally ill-advised 。我使用点的原始地理坐标和 raster::extract 从栅格中提取了点位置的协变量值。到目前为止,一切都很好。问题是...
it is not sufficient to have observed the covariate only at the points of the data point pattern; the covariate must also have been observed at other locations in the window. -
ppm
helpfile
我似乎有两个选项可以向 data
参数提供协变量数据。
raster::extract
相当快,但每次调用似乎都会产生很大的开销。根据microbenchmark
,对于单个协变量,坐标转换大约需要 4 毫秒,提取大约需要 582 毫秒,或者每个点大约需要 4 秒才能获得所有 7 个协变量。我不知道 ppm
会调用此函数多少次,但即使模式中的每个点调用一次,也会花费太长时间。有什么方法可以找出 ppm
将查询协变量数据的完整点集是什么,以便我可以通过一次调用预先提取这些点?
看来我的用例(地理栅格中的协变量)应该很常见,所以我猜测有一种既定的方法可以正确地做到这一点。它是什么?
最佳答案
感谢您提出了一个写得很好的问题,清楚地表明了您的需求。如果有一个简单的可重现的例子,例如使用来自raster
和spatstat
的内置数据或人工生成的数据。由于缺乏可重现的示例,我的答案将不包含任何代码,但概述了您可以做什么。
ppm
的第一步是制定求积方案或类 quad
或 logiquad
,具体取决于 中使用的最大似然近似>ppm
。这些可以由用户通过 quadscheme
或 quadscheme.logi
直接生成。求积方案包含 ppm
将评估协变量的所有点。您可以使用函数coords
提取正交方案的坐标。如果您构建一个包含在这些点评估的所有协变量的 data.frame
,您可以将其作为 ppm
的 data
参数提供,而正交方案为第一个论点。为了更好地理解事情,请尝试阅读 help(ppm.quad)
的“详细信息”部分。
另一种可以最佳利用数据的方法是提取当前栅格堆栈的网格点以及所有协变量值并投影该点数据。然后将其转换为一个简单的 data.frame
,其中包含 x
、y
、covar1
、covar2< 列
等。然后您可以使用 x
和 y
以及您感兴趣的点观测来手动创建正交方案,其余列可以作为 提供>数据
到ppm
。
比较这两种方法的结果以及仅投影栅格堆栈并将其转换为 im
对象列表的结果会很有趣。
关于r - 如何从地理栅格获取 `ppm` 的协变量数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58385573/
在我的设置中,我试图有一个界面 Table继承自 Map (因为它主要用作 map 的包装器)。两个类继承自 Table - 本地和全局。全局的将有一个可变的映射,而本地的将有一个只有本地条目的映射。
Rust Nomicon 有 an entire section on variance除了关于 Box 的这一小节,我或多或少地理解了这一点和 Vec在 T 上(共同)变体. Box and Vec
我是一名优秀的程序员,十分优秀!