r - 更有效地将数据集中的坐标与最近邻匹配 - 并保留名称?
问题描述
我正在尝试将企业与同一数据集中最近的企业进行匹配。数据集由企业名称、坐标和星级评分(满分 5 分)组成。每个企业、每个季度、每年(大约 5 年)都有一行。虽然我只是为最近的企业解决了这个问题,但我需要根据不同的标准再做大约 100 次。(每年分成不同的季度,匹配具有相同评级的邻居等)。
现在我能想到的就是根据标准将数据集拆分为仅包含我需要的业务,然后像这样进行匹配——但是做 100 次,然后重新加入数据,听起来……是个糟糕的主意。我对 R 中的空间内容不太熟悉,所以如果有人有任何想法或帮助,那就太棒了。
同样,对于我拥有的现有代码(如下),这为我提供了最近邻居的 ID #,但没有提供名称。有没有办法匹配邻居,同时保留除了 ID # 之外的其他列?
我已经拥有的代码如下。我在用着
library(RANN)
sp.data <- data
coordinates(sp.data) <- ~lon+lat
sf.data <- st_as_sf(sp.data)
dist_m <- st_distance(sf.data, sf.data)
index <- apply(dist_m, 1, order)
index <- index[2:nrow(index), ]
index <- index[1, ]
index2 <- as.data.frame(index)
index2 <- data.frame(t(index2))
然后,这为我提供了最近邻居的 ID#。如您所见,使用不同的数据(根据评级标准和季度等从原始数据中拆分)一遍又一遍地运行它并不是很有效。任何帮助表示赞赏。谢谢!
解决方案
推荐阅读
- javascript - 使用 jQuery 和 AJAX 正确格式化表格
- sml - 包含所有数字的最小子列表
- php - 将在数据库中搜索的结果链接到另一个页面
- javascript - vue-test-utils:无法覆盖属性 $route,这通常是由于插件将该属性添加为只读值
- angular - 运行应用程序之前的 Angular Universal 错误
- .net - 如何使用 Nancy.testing 测试这个模块
- django - 如何正确编写需要处理复杂对象的api(检索、创建、更新方法)
- node.js - NodeJS Express 和 ReactJS 的 CORS 错误
- django - 函数“prefetch_related”的“*lookups”参数的品种
- javascript - Bootstrap modal 通过 js bug 关闭