R - 曼哈顿/欧几里德距离计算成矩阵

时间:2015-12-13 03:56:13

标签: r

我想请求关于连续变量的距离测量的帮助

有一个例子:

x1 = (0,0)
x2 = (1,0)
x3 = (5,5)

该示例是找到L1范数和L2范数(欧几里得)的距离矩阵。 我不知道如何在R中计算得到以下答案:

enter image description here

我试图像这样做,但它没有按预期工作。

y2 <- c(0,0)
y3 <- c(1,0)
y4 <- c(5,5)
y5 <- rbind(y2,y3,y4)
dist(y5)

1 个答案:

答案 0 :(得分:2)

y2 <- c(0,0)
y3 <- c(1,0)
y4 <- c(5,5)

mat <- rbind(y2, y3, y4)

d1 <- dist(mat, upper=TRUE, diag=TRUE, method="manhattan")
d1
#    y2 y3 y4
# y2  0  1 10
# y3  1  0  9
# y4 10  9  0

d2 <- dist(mat, upper=TRUE, diag=TRUE)^2
d2
#    y2 y3 y4
# y2  0  1 50
# y3  1  0 41
# y4 50 41  0