如何在R中给定固定簇大小的lat-long?

时间:2015-10-27 06:00:56

标签: r cluster-analysis geographic-distance

我有大约50个位置,我想在空间上将它们与群集大小固定。说以下几个地点都是。

lat<-c(17.48693,17.49222,17.51965,17.49359,17.49284,17.47077)
long<-c(78.38945,78.39643,78.37835,78.40079,78.40686,78.35874)

假设我想用簇大小〜3

对它们进行聚类

你能帮忙吗?

2 个答案:

答案 0 :(得分:0)

您可以尝试使用kmeans,它是baseR的一部分。这是一个针对3个中心的简单代码:

result <- kmeans(df, 3)
> result
K-means clustering with 3 clusters of sizes 4, 1, 1

Cluster means:
       lat      lng
1 17.49140 78.39838
2 17.47077 78.35874
3 17.51965 78.37835

Clustering vector:
[1] 1 1 3 1 1 2

enter image description here

请注意,无法保证您的数据可能与kmeans和3个中心完美匹配。这一组kmeans导致4个观测结果在一个星团中结束,其他2个星团只有1个观测值。如果你对这次跑步感到不满意,你可以玩一下,直到你可以收敛到合适的东西。

以下是link to a tutorial可能有所帮助。

答案 1 :(得分:0)

对于像这样的小数据,

  • 枚举所有可接受的选项(例如,所有具有3 + 3个对象的选项)
  • 选择最佳

必须定义什么是最好的&#34;溶液