Zacznij terazZacznij za darmo

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

Zobacz kurs

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 AdjacencyMatrix przez siebie samą, i nadaj jej nazwę SecondOrderMatrix_adj.
  • Utwórz nową macierz SecondOrderMatrix, stosując warunek na SecondOrderMatrix_adj tak, 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[___:___, ___:___]
Edytuj i uruchom kod