【问题标题】:Distance between two sets of points [duplicate]两组点之间的距离[重复]
【发布时间】:2018-06-15 11:36:06
【问题描述】:

因此,在查看了关于 stackoverflow 的各种问题后,我仍然无法理解 R 中的 dist 函数,或者甚至是一般的距离矩阵。

所以我有两个带有 xy 坐标的数据框。

df1 <- data.frame(x = runif(3,0,50), y = runif(3,0,50))
df2 <- data.frame(x = runif(20,0,50), y = runif(20,0,50))

我想遍历第一个数据帧,对于每个点/行,我想检查到第二个 df 中所有点的距离。 这可能非常容易做到,我很抱歉我问这个问题,但我现在尝试了几个小时。任何帮助表示赞赏!

【问题讨论】:

标签: r dataframe coordinates euclidean-distance


【解决方案1】:

proxy 允许您计算矩阵行之间的距离,并提供更多距离指标。

library(proxy)
df1=data.frame(x=runif(3,0,50),y=runif(3,0,50))
df2=data.frame(x=runif(20,0,50),y=runif(20,0,50))

dist(df1, df2, method = "euclidean")

#      [,1]      [,2]      [,3]     
# [1,] 14.502244 15.272563 30.266583
# [2,] 33.152003 44.574128 32.464425
# [3,] 30.112443 42.935810 12.935461
# [4,] 31.749340 38.809452 45.214138
# [5,] 22.712121 25.358099 45.593262
# [6,] 24.702575 31.332886 41.528598
# [7,] 38.244377 46.768200 46.222620
# [8,] 13.686492  1.378374 41.466495
# [9,] 30.884628 40.148856 39.286827
#[10,]  7.615178 19.138047 27.597653
#[11,] 24.898710 22.577377 51.314388
#[12,] 27.962082 39.389227 29.863587
#[13,] 26.927504 39.687474 18.898984
#[14,] 22.249277 26.451882 43.537306
#[15,] 14.632805 24.817799 30.319079
#[16,] 32.483518 41.170256 41.874111
#[17,] 16.471009 23.334594 20.552049
#[18,] 15.561002 27.706218 13.277251
#[19,] 13.375505 19.056233 24.006360
#[20,] 30.191274 42.999607 12.498551

【讨论】:

  • stat包中的dist函数是否可以得到类似的结果?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-01-15
  • 1970-01-01
  • 2021-10-24
  • 2019-01-23
  • 2012-07-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多