r - 使用 spdep 库为 527k+ 点数据集计算基于距离的 Local Moran
问题描述
正如标题所说,我正在尝试使用该spdep
软件包为 527k 点数据集计算 Local Moran,并根据距离创建邻域。我正在做的广义过程如下:
library(spdep)
# Convert coordinates to matrix
matrix_pts <- as.matrix(coordinates)
# Generate neighbors
neighbors <- dnearneigh(matrix_pts,
d1 = 0,
d2 = range)
# Get weight matrix
wm <- nb2listw(neighbors,
zero.policy = T,
style = style)
# Get moran statistics
moran_stat <- localmoran(value,
wm,
zero.policy = T)
但是我遇到了一个问题,我无法使用 来创建社区dnearneigh
,因为数据集太大,社区由 200-1000 个点组成。
我尝试了这里描述的解决方案,我得到了一个数据框,第一行带有 ID,第二行带有包含相邻点 ID 的列表(即):
id int_ids
1: 239226 239226,242762,339386,444833,243000,240521,...
2: 242762 239226,242762,339386,444833,243000,240521,...
3: 339386 239226,242762,339386,444833,243000,240521,...
4: 444833 239226,242762,339386,444833,243000,240521,...
5: 243000 239226,242762,339386,444833,243000,240521,...
6: 240521 239226,242762,339386,444833,243000,240521,...
但是,我不知道如何创建nb
所需的对象nb2listw
,并且四处挖掘对我没有太大帮助。
有没有办法将此数据框转换为nb
对象?如果我能够这样做,权重矩阵会像邻居一样难以创建吗?有没有另一种方法来计算这个卷的数据集的本地莫兰?
解决方案
推荐阅读
- ios - 仅在 iOS 14、SwiftUI 时显示一些视图
- git - 有什么简单快速的方法来判断一个 git repo 是否使用了 LFS
- python - 破碎方程求解器
- python - 创建一个函数来检查一个数 n 是否可以被两个数 x 和 y 整除。所有输入都是正数,非零数字
- ios - 如何将 ARPlaneAnchor 转换为 2d 线(平行投影)
- javascript - Javascript Map 函数未存储正确的值
- r - 如何在R中重置为0的cumsum?
- react-native - 从 flatlist 切换到 Listitem 并检索数据
- python - AttributeError:模块“cv2.cv2”没有属性“nameWindow”
- ios - iOS swift URLScheme 静默发布,无需打开另一个应用程序