Матрицы смежности
В этом упражнении вы извлечёте и вычислите матрицы смежности первого и второго порядка для сети.
Вы уже видели, как извлекать матрицу смежности первого порядка с помощью функции as_adjaceny_matrix() на слайдах.
Для матрицы смежности второго порядка нужно умножить матрицу первого порядка на саму себя, а затем заменить все положительные значения на 1 — поскольку мы работаем только с невзвешенными сетями. Кроме того, необходимо убедиться, что элементы на диагонали равны 0, так как петли (рёбра из узла в самого себя) не допускаются.
Это упражнение является частью курса
Прогнозная аналитика на основе сетевых данных в R
Инструкции к упражнению
- Извлеките матрицу смежности сети с помощью функции
as_adjacency_matrix(). Назовите матрицуAdjacencyMatrix. - Вычислите матрицу смежности второго порядка, умножив
AdjacencyMatrixна саму себя, и присвойте результату имяSecondOrderMatrix_adj. - Создайте новую матрицу
SecondOrderMatrix, применив кSecondOrderMatrix_adjусловие: все положительные значения должны быть равны 1, а элементы на диагонали — 0. - Выведите первые 10 строк и первые 10 столбцов матрицы
SecondOrderMatrix.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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[___:___, ___:___]