Macierze sąsiedztwa
W tym ćwiczeniu wyodrębnisz i obliczysz macierze sąsiedztwa pierwszego i drugiego rzędu dla sieci.
Widziałeś już, jak wyodrębnić macierz sąsiedztwa pierwszego rzędu za pomocą funkcji as_adjaceny_matrix() w slajdach.
Aby uzyskać macierz sąsiedztwa drugiego rzędu, należy pomnożyć macierz pierwszego rzędu przez siebie samą, a następnie zastąpić wszystkie wartości dodatnie jedynkami – pracujemy bowiem wyłącznie z sieciami nieważonymi. Trzeba też zadbać o to, by elementy na przekątnej wynosiły 0, ponieważ nie dopuszczamy krawędzi własnych.
To ćwiczenie jest częścią kursu
Predykcyjna analityka sieciowa w R
Instrukcje do ćwiczenia
- Wyodrębnij macierz sąsiedztwa sieci, korzystając z funkcji
as_adjacency_matrix(). Nadaj macierzy nazwęAdjacencyMatrix. - Oblicz macierz sąsiedztwa drugiego rzędu, mnożąc
AdjacencyMatrixprzez siebie samą, i nadaj jej nazwęSecondOrderMatrix_adj. - Utwórz nową macierz
SecondOrderMatrix, stosując warunek naSecondOrderMatrix_adjtak, aby wszystkie wartości dodatnie były równe 1. Elementy na przekątnej powinny wynosić 0. - Sprawdź pierwsze 10 wierszy i pierwsze 10 kolumn macierzy
SecondOrderMatrix.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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[___:___, ___:___]