Попарная матрица расстояний в R

Научитесь программировать с помощью этих 5 проверенных стратегий обучения Изучение

Матрица парных расстояний — это двумерная матрица, элементы которой имеют значение расстояний, взятых попарно, отсюда и название «парная матрица». Это легко понять на следующем примере.

Рассмотрим множество элементов S1-{(2,3), (0,9), (4,5)}.

Рассмотрим множество элементов S1

Если мы вычислим его матрицу расстояний, мы получим,

Если мы вычислим его матрицу расстояний

Значения этой Матрицы имеют попарное евклидово расстояние между элементами. Первая строка этой матрицы содержит расстояние между A1 и остальными элементами, т.е. A2 и A3, включая также A1.

Мы также можем выполнять попарные вычисления расстояний, используя язык программирования R ! Мы используем функцию dist() в языке программирования R. Мы можем найти манхэттенское или евклидово попарное расстояние.

R

# 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

# 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

Давайте возьмем другой пример для лучшего понимания, мы будем вычислять попарное евклидово расстояние.

R

# 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)

Выход:

Попарная матрица расстояний только с нижней треугольной частью

Попарная матрица расстояний только с нижней треугольной частью

Читайте также:  Основные тенденции DevOps в 2022 году
Оцените статью
bestprogrammer.ru
Добавить комментарий