如何使用 rgeoda 将 R 中的纬度/经度点聚类为恰好 5 个最近邻的组?

问题描述 投票:0回答:1

我正在致力于根据学校之间的距离将学校聚集在一起。出于政策(预算)原因,我们希望这些组中尽可能多地包含 5 所学校。我们有 297 所学校需要聚类,这将构成 59 个 5 人一组和 1 个 3 人一组(或尽可能接近的值)。我正在查看 rgeoda 的文档(https://geodacenter.github.io/rgeoda/reference/index.html),我正在努力找出要使用的正确参数。

到目前为止我已经做到了:

literacy_geoda <- sf_to_geoda(latlong_geom)

kernel_weights(literacy_geoda)

当我尝试从 rgeoda 运行类似上面的函数时,我收到此错误:

sf_obj[[attr(sf_obj, "sf_column")]] 中的错误: 环境子集化的错误参数

kmeans结果[["簇"]]

我之前尝试过只使用 kmeans,它大部分工作,但我无法设置最小或最大邻居,所以我得到的组远大于 5。

set.seed(123)
kmeans_result <- kmeans(coords, centers = 60, iter.max = 5)

latlong_geom$cluster_school <- kmeans_result$cluster

r geometry cluster-analysis geospatial
1个回答
0
投票

保存权重

weights <- kernel_weights(literacy_geoda)
,然后将形状和权重传递给连续聚类函数。在
rgeoda
中,您可能会看到函数
?gda_queen_weights
,尽管它目前仅在内部使用免责声明。祝你好运!

GeoDa 的女王连续性

包作者还在线提供了 API 函数列表:

rgeoda 函数列表

© www.soinside.com 2019 - 2024. All rights reserved.