使用R从经纬线对中创建点组?


11

我有一个包含纬度/经度对的数据库,用于标识兴趣点的位置。我想将兴趣点分为10个组。该组在地理位置上应该准确地包含10个点。每个组应具有最小面积。

我已经看过R中的各种实现,但是它们(我都能看到)都不允许您指定确定的集群大小。

我之前曾问过将地图点分组为固定的簇大小吗?但是我认为我的问题不够准确,无法得到很好的答案。


从地理位置上讲 -我想我的意思是小组不应有太多重叠。在我的应用程序中(将人员分配到各个组进行监视),如果每个组的物理区域尽可能小,那将是理想的。
最小面积 -再次尝试将组面积保持为最小。我想这可以量化为将每个小组的面积保持在指定的阈值以下(避免数十个小团体和一个大团体)。


2
更加精确地找到您想要的东西。您如何量化“地理上的局部”和“最小面积”?
ub

在某些情况下,“最小面积”和“恰好10点”不会互斥吗?例如,您如何将两者都用在1英里的“最小区域”中,而1个要素在10英里内没有其他要素(可能是异常值)?
RyanKDalton 2012年

我希望会有一些例外,但是可以手动处理。我有一个固定大小的数据集,不介意手动摆弄几个组,但是我真的很想为其余的组提供自动解决方案!:)
Graeme Hilton


该描述仍然过于“手工波动”,无法自动解决。您可以公开数据吗?
BradHards

Answers:


1

我认为您可能正在寻找k近邻工具。这种类型的工具可用于识别数据集中所有点的10个最近邻居。似乎有一些不同的选择(有些使用不同的算法或功能略有不同),我不确定哪个是最佳选择。但是这里有一些链接:

http://stat.ethz.ch/R-manual/R-patched/library/class/html/knn.html http://en.wikibooks.org/wiki/Data_Mining_Algorithms_In_R/Classification/kNN

您可能需要将结果与聚类算法或聚类集成工具结合起来,以标识具有相似邻居集的点的聚类,以获得几乎没有重叠的点的分类。您可能需要对输出进行一些手动摆弄,但是它应该允许您自动完成大部分工作

一些链接:http : //jmlr.csail.mit.edu/papers/volume3/strehl02a/strehl02a.pdf http://cran.r-project.org/web/packages/clue/vignettes/clue.pdf

您也许还可以找到一个k-means聚类工具,它将一步一步完成所有操作,并在聚类规则中强制执行10点(只需将总点数除以10,然后将其选择为所需的聚类数即可)工具)。


另外,我发现YaRi教程对R很有帮助:ahandel.myweb.uga.edu/resources.htm
Jezibelle 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.