问题标签 [spdep]
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.
r - 如何在不对矩阵进行行归一化的情况下估计 SAR 空间模型?
我正在尝试在不对矩阵进行行归一化的情况下估计 SAR 空间模型。出于某种原因,当我不进行行标准化时,该命令不会返回正确的估计值。我在命令选项上遗漏了什么吗?
这是我的意思的一个例子。
如果我运行以下代码,使用行归一化矩阵模拟数据,lagsarlm 会返回正确的估计值:
但是,如果我尝试完全相同但没有行规范化,则结果不正确:
可以在此处找到此代码的基础https://stat.ethz.ch/pipermail/r-sig-geo/2010-August/009023.html。
r - 所有调整方法都会在 spdep 的 localmoran() 中产生相同的调整 P 值
我正在使用spdep的localmoran,它根据 p.adjustSP 调整 p 值以进行多重比较。我想使用 holm 校正,但我不确定是否有问题,因为我注意到无论我指定 holm、bonferroni 还是 hochberg,它都会导致相同的调整 p 值。如果我不指定更正,未更正的 p 值看起来很好。有没有其他人遇到过这个,这是否意味着有问题?或者所有这些更正是否有可能产生相同的值?谢谢!
编辑添加示例(不是我的实际数据):
r - 为R中的空间线生成邻居列表对象
我的目标是生成道路网络中空间线之间的邻域关系对象。如果我的数据是空间多边形,我可以使用它spdep::poly2nb
来执行此操作,但我无法确定如何为空间线执行此操作。
在下面的表示中,我尝试使用igraph::as_adjacency_matrix
创建邻接矩阵,然后使用spdep::mat2listw
. 但这是正确的方法吗?
一旦我有了邻居列表,我还想用road_id
属性标记。
sfnetworks
编辑:在本期https://github.com/luukvdmeer/sfnetworks/issues/10中使用methof 的新方法给出了一个邻居列表。
r - 创建一个用于 CARBayes 的巨型矩阵而不会耗尽内存
我正在尝试使用包 CARBayes 进行区域单元分析。作为分析的一部分,我使用以下代码。当我尝试使用nb2mat
. 我的 sp 对象中有 170,000 个奇数多边形,因此它无法用我拥有的内存制作矩阵。
我在另一个线程中找到了以下代码来制作bigmemory
矩阵,但 CARBayes 不会将其识别为矩阵。
我的问题是,有没有人知道使用/sparse 矩阵bigmemory
或spam
类似的东西来创建矩阵的方法,以便可以在 CARBayes 包中使用它而不会抛出错误,说它W
不是矩阵。
r - 在空间权重矩阵 R 中包含 ID
我有一个像这样的数据框:
我的主要目标是生成空间权重矩阵
到目前为止,这是我的代码:
问题是listaw
不包含ID
. 如何使用 ID 识别每个邻居(即:A、B、C、D、E、F)?
r - 并行化函数 poly2nb {spdep}
的文档spdep::poly2nb
在参数下包含以下条目:
foundInBox
:使用R代码的默认NULL,如果雪簇可用,则可能并行化,否则为长度列表(n-1)和候选邻居的整数向量(j> i),或者如果所有候选者都是(j < i)则为NULL(由 rgeos 中的 poly_findInBoxGEOS 函数为干净的多边形创建)
我已经用粗体解释了该部分,因为如果此参数为 NULL(默认)并且注册了雪簇,则该函数将被并行化。我试过这样做:
查看任务管理器没有显示任何并行化。并行运行此功能的正确方法是什么?另外,有没有办法在为参数提供列表的同时并行化它foundInBox
?
r - 州多边形的相邻邮政编码
第一次在 SO 上发帖
我有一个 shapefile,其中包含每个 Zipcode 的几何图形以及州名称。我想弄清楚哪些邮政编码位于州边界上。我想实现这一点的方法是结合每个州的所有邮政编码并导致一个州的几何形状,然后找到每个州的相邻邮政编码。
我使用以下方式将邮政编码组合成状态:
state_shape <- shapefile %>% group_by(State) %>% summarise(geometry = sf::st_union(geometry))
但是当我尝试使用poly2nb
state_nb <- poly2nb(st_geometry(state_shape))
它给了我一个错误:
Error in poly2nb(st_geometry(state_shape)) : Polygon geometries required
我知道要找到边界邮政编码,我必须在 poly2nb 中传递邮政编码几何图形,但错误仍然存在。
任何帮助将不胜感激,也非常欢迎任何其他解决此问题的方法。
r - 在 Moran.I 和 moran.test 之间获得不同的测试结果
我尝试通过使用包中的函数和 Moran.I
包中的函数运行 Moran's I 测试空间自相关测试,通过对相同数据应用这两种方法,我得到了不同的结果。那么在这一点上,为什么我们会产生如此大的差异,最有效的方法是什么?请参阅以下代码:ape
moran.test
spdep
r - 使用 spdep 包中的函数 autocov_dist 时出现错误消息
我正在使用包中的函数来估计自变量autocov_dist
。spdep
我使用反距离作为权重。当我对我的数据进行测试时,我收到了以下错误消息:
这是一个可重现的示例(我在坐标中显示较大的值,因为在我的真实数据中,空间坐标在 UTM 中):
另外,相邻半径(nbs
函数中的参数)的确切定义是什么,因为我在函数文档中找不到明确的定义。
r - Given a spatial (hexagonal) grid how can I obtain a sample of higher order neighbors?
I would like to "thin" a grid made with sf::st_make_grid
and obtain a subset of higher order neighbors.
First order neighbors share at least one side, 2nd order neighbors share a side with 1st order neighbors, etc.
Here is an example:
A possible subset of 2nd order neighbors would then be:
but other samples are also possible e.g. c(1,2,9,8,10,16,17)
How can I subset to any higher order neighbors?