我必须计算列车和测试数据之间的欧几里德距离。列车数据的总长度是1389,测试数据是364.它基本上是来自美国邮政信封的手写邮政编码的数据,从website的“统计学习元素”下载。
我是初学者,只是阅读R包中的数据。我无法开始计算列车和测试数据之间的距离。任何人都可以帮我解释一下如何为这些数据生成循环吗?
我会很感激。
答案 0 :(得分:6)
对于欧几里德距离,我喜欢使用rdist
包中的fields
。与dist
包相比stats
的一个优点是,它可以将两个矩阵作为输入:
train.data <- matrix(runif(1389*2), ncol = 2)
test.data <- matrix(runif(364*2), ncol = 2)
library(fields)
distances <- rdist(train.data, test.data)
dim(distances)
# [1] 1389 364