Matrici di adiacenza
In questo esercizio estrarrai e calcolerai le matrici di adiacenza di primo e di secondo ordine della rete.
Hai già visto come estrarre la matrice di adiacenza di primo ordine usando la funzione as_adjaceny_matrix() nelle diapositive.
Per la matrice di adiacenza di secondo ordine, devi moltiplicare la matrice di primo ordine per sé stessa e sostituire tutti i valori positivi con 1, dato che lavoriamo solo con reti non pesate. Inoltre, assicurati che gli elementi sulla diagonale siano 0, poiché non permettiamo autolink.
Questo esercizio fa parte del corso
Analitica predittiva con dati di rete in R
Istruzioni dell'esercizio
- Estrai la matrice di adiacenza della rete usando la funzione
as_adjacency_matrix(). Chiama la matriceAdjacencyMatrix. - Calcola la matrice di adiacenza di secondo ordine moltiplicando
AdjacencyMatrixper sé stessa e chiamalaSecondOrderMatrix_adj. - Crea una nuova matrice,
SecondOrderMatrix, condizionando suSecondOrderMatrix_adjper rendere tutti i valori positivi uguali a 1. Gli elementi sulla diagonale devono essere 0. - Ispeziona le prime 10 righe e le prime 10 colonne di
SecondOrderMatrix.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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[___:___, ___:___]