Personnaliser les préférences

Nous utilisons des cookies pour vous aider à naviguer efficacement et à exécuter certaines fonctions. Vous trouverez ci-dessous des informations détaillées sur tous les cookies sous chaque catégorie de consentement.

Les cookies classés comme « Nécessaires » sont stockés sur votre navigateur car ils sont essentiels pour activer les fonctionnalités de base du site.... 

Toujours actif

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Aucun cookie à afficher.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Aucun cookie à afficher.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Aucun cookie à afficher.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Aucun cookie à afficher.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

Aucun cookie à afficher.

Comment utiliser la fonction dist dans R (avec exemples)



La fonction dist() dans R peut être utilisée pour calculer une matrice de distance, qui affiche les distances entre les lignes d’une matrice ou d’un bloc de données.

Cette fonction utilise la syntaxe de base suivante :

dist(x, méthode=”euclidien”)

où:

  • x : le nom de la matrice ou du bloc de données.
  • méthode : La mesure de distance à utiliser. La valeur par défaut est « euclidienne », mais les options incluent « maximum », « manhattan », « canberra », « binaire » ou « minkowski ».

Les exemples suivants montrent comment utiliser cette fonction en pratique avec le bloc de données suivant :

#define four vectors
a <- c(2, 4, 4, 6)
b <- c(5, 5, 7, 8)
c <- c(9, 9, 9, 8)
d <- c(1, 2, 3, 3)

#row bind four vectors into matrix
mat <- rbind(a, b, c, d)

#view matrix
mat

  [,1] [,2] [,3] [,4]
a    2    4    4    6
b    5    5    7    8
c    9    9    9    8
d    1    2    3    3

Exemple 1 : utilisez dist() pour calculer la distance euclidienne

La distance euclidienne entre deux vecteurs A et B est calculée comme suit :

Distance euclidienne = √ Σ(A i -B i ) 2

Le code suivant montre comment calculer une matrice de distance qui montre la distance euclidienne entre chaque ligne d’une matrice dans R :

#calculate Euclidean distance between each row in matrix
dist(mat)

          a         b         c
b  4.795832                    
c 10.148892  6.000000          
d  3.872983  8.124038 13.190906

Voici comment interpréter le résultat :

  • La distance euclidienne entre la ligne a et la ligne b est 4,795832 .
  • La distance euclidienne entre la ligne a et la ligne c est 10,148892 .
  • La distance euclidienne entre la ligne a et la ligne d est 3,872983 .
  • La distance euclidienne entre la ligne b et la ligne c est 6,000000 .
  • La distance euclidienne entre la ligne b et la ligne d est 8,124038 .
  • La distance euclidienne entre la ligne c et la ligne d est 13,190906 .

Exemple 2 : utilisez dist() pour calculer la distance maximale

La distance maximale entre deux vecteurs, A et B, est calculée comme la différence maximale entre tous les éléments par paire.

Le code suivant montre comment calculer une matrice de distance qui affiche la distance maximale entre chaque ligne d’une matrice dans R :

#calculate Maximum distance between each row in matrix
dist(mat, method="maximum")

  a b c
b 3    
c 7 4  
d 3 5 8

Exemple 3 : utilisez dist() pour calculer la distance de Canberra

La distance de Canberra entre deux vecteurs A et B est calculée comme suit :

Distance de Canberra = Σ |A i -B i | / | UNE je | + | Bje |

Le code suivant montre comment calculer une matrice de distance qui montre la distance de Canberra entre chaque ligne d’une matrice dans R :

#calculate Canberra distance between each row in matrix
dist(mat, method="canberra")

          a         b         c
b 0.9552670                    
c 1.5484515 0.6964286          
d 1.1428571 1.9497835 2.3909091

Exemple 4 : utilisez dist() pour calculer la distance binaire

La distance binaire entre deux vecteurs, A et B, est calculée comme la proportion d’éléments que les deux vecteurs partagent.

Le code suivant montre comment calculer une matrice de distance qui montre la distance binaire entre chaque ligne d’une matrice dans R :

#calculate Binary distance between each row in matrix
dist(mat, method="binary")

  a b c
b 0    
c 0 0  
d 0 0 0

Exemple 5 : utilisez dist() pour calculer la distance de Minkowski

La distance de Minkowski entre deux vecteurs A et B est calculée comme suit :

Distance de Minkowski = (Σ|a i – b i | p ) 1/p

i est le i ème élément de chaque vecteur et p est un nombre entier.

Le code suivant montre comment calculer une matrice de distance qui montre la distance de Minkowski (en utilisant p=3) entre chaque ligne d’une matrice dans R :

#calculate Minkowski distance between each row in matrix
dist(mat, method="minkowski", p=3)

          a         b         c
b  3.979057                    
c  8.439010  5.142563          
d  3.332222  6.542133 10.614765

Ressources additionnelles

Comment calculer la similarité Jaccard dans R
Comment calculer la similarité cosinus dans R
Comment calculer le produit scalaire dans R

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *