Matrices d’adjacence
Dans cet exercice, vous allez extraire et calculer les matrices d’adjacence d’ordre 1 et d’ordre 2 du réseau.
Vous avez déjà vu comment extraire la matrice d’adjacence d’ordre 1 avec la fonction as_adjaceny_matrix() dans le diaporama.
Pour la matrice d’adjacence d’ordre 2, vous devez multiplier la matrice d’ordre 1 par elle-même et remplacer toutes les valeurs positives par 1, car nous travaillons uniquement avec des réseaux non pondérés. Assurez-vous aussi que les éléments sur la diagonale valent 0, puisque les boucles (self-edges) ne sont pas autorisées.
Cet exercice fait partie du cours
Analytique prédictive avec des données en réseau sous R
Instructions
- Extrayez la matrice d’adjacence du réseau avec la fonction
as_adjacency_matrix(). Nommez la matriceAdjacencyMatrix. - Calculez la matrice d’adjacence d’ordre 2 en multipliant
AdjacencyMatrixpar elle-même et appelez-laSecondOrderMatrix_adj. - Créez une nouvelle matrice,
SecondOrderMatrix, en conditionnant surSecondOrderMatrix_adjpour que toutes les valeurs positives soient égales à 1. Les éléments sur la diagonale doivent être à 0. - Inspectez les 10 premières lignes et les 10 premières colonnes de
SecondOrderMatrix.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Extract the adjacency matrix
AdjacencyMatrix <- as_adjacency_matrix(___)
# Compute the second order matrix
SecondOrderMatrix_adj <- ___ %*% ___
# Adjust the second order matrix
SecondOrderMatrix <- ((___) > 0) + 0
diag(SecondOrderMatrix) <- 0
# Inspect the second order matrix
SecondOrderMatrix[___:___, ___:___]