R语言 配对距离矩阵
成对距离矩阵是一个二维矩阵,其元素具有成对取值的距离,因此被称为成对矩阵。通过下面的例子可以很容易地理解这一点。
让我们考虑一组元素S1- {(2,3), (0,9), (4,5)}。
如果我们计算它的距离矩阵,我们将得到。
这个矩阵的值是项目之间的成对欧几里得距离。这个矩阵的第一行包含了A1和其他项目之间的距离,即A2和A3,也包括A1。
我们也可以用R编程语言进行成对距离的计算。我们使用R编程语言中的dist()函数。 我们可以找到曼哈顿或欧几里得,成对的距离。
# Make three vectors
A1<-c(2,3)
A2<-c(0,9)
A3<-c(4,5)
#making a single matrix
CooR <- rbind(A1, A2, A3)
dist(CooR, method = "euclidean",
diag = TRUE, upper = TRUE)
输出
A1 A2 A3
A1 0.000000 6.324555 2.828427
A2 6.324555 0.000000 5.656854
A3 2.828427 5.656854 0.000000
这是我们对输入{(2,3), (0,9), (4,5)}的配对距离矩阵。让我们尝试另一个例子,但这次使用曼哈顿距离。
# R program to calculate a pairwise distance matrix
# Make three vectors
A1<-c(1,1,7)
A2<-c(2,9,5)
A3<-c(9,6,3)
#making a single matrix
CooR <- rbind(A1, A2, A3)
dist(CooR, method = "manhattan",
diag = TRUE, upper = TRUE)
输出
A1 A2 A3
A1 0 11 17
A2 11 0 12
A3 17 12 0
为了更好地理解,让我们再举一个例子,我们将计算成对的欧氏距离。
# Making vectors to use for matrix
A1 <- c(0, 0)
B1 <- c(0.85, 0)
C1 <- c(0.85, 0.45)
D1 <- c(0, 0.45)
#making a single matrix
CooR <- rbind(A1, B1, C1, D1)
dist(CooR, method="euclidean", diag=TRUE,
upper=FALSE)
输出
只有下三角部分的配对距离矩阵