我有 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,])
}
}
我认为这可以以更紧凑的“R”方式完成。有任何想法吗?谢谢。