计算欧氏距离R简单。可以找到一个很好的例子HERE。矢量化形式为:
sqrt((known_data[, 1] - unknown_data[, 1])^2 + (known_data[, 2] - unknown_data[, 2])^2)
获得一个数据帧的每一行与另一个数据帧的所有行的欧几里德距离的最快、最有效的方法是什么?一个特定的函数来自apply()
家庭?谢谢!
也许你可以尝试outer
+ dist
像下面这样
outer(
1:nrow(known_data),
1:nrow(unknown_data),
FUN = Vectorize(function(x,y) dist(rbind(known_data[x,],unknown_data[y,])))
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)