如何计算两组数据之间的距离

Uro*_*s K 3 r distance dataframe

我有2个数据帧 - 用L行学习数据和用T行测试数据.

我想计算一个L*T矩阵,其中包含相应元素之间的距离(欧几里德,曼哈顿,余弦......).

这是我的看法:

distance2 <- function (x1, x2) {
            temp <- x1 - x2
            sum(temp * temp)
}

m <- matrix(0,nrow(learnData),nrow(testData))
for(td in 1:nrow(testData)) {
    for(ld in 1:nrow(learnData)) {
        m[ld,td] <- distance2(testData[td,],learnData[ld,])                 
    }
}
Run Code Online (Sandbox Code Playgroud)

我认为这可以用更紧凑的"R"方式完成.有任何想法吗?谢谢.

Rei*_*son 5

我想到两个选择:

  1. 使用具有许多已经编码的这些相异系数的代理包,可以分别为两个数据帧计算这个
  2. 模拟包,其具有的功能distance(),其可以计算欧几里德和曼哈顿措施你上两个数据帧(但不是余弦距离).