Извлечение типов рёбер
В этом упражнении вы сопоставите идентификаторы клиентов из датафрейма клиентов со списком рёбер, чтобы определить, является ли каждое ребро «churn», «non-churn» или смешанным.
С помощью функции match() вы добавите в список рёбер два столбца.
fromLabel— статус оттока для столбцаfromtoLabel— статус оттока для столбцаto

Команда match(x, y) возвращает вектор с позициями элементов x в y. На рисунке выше match(edgeList$from, customers$id) равно 1,1,1,2,2. Например, четвёртая строка в edgeList$from — клиент с идентификатором 393 — является вторым элементом в customers$id.
Следовательно, метка оттока этого клиента — customers[2,2], то есть 0.
Аналогично, метка оттока для всех записей в edgeList$from вычисляется как customers[match(edgeList$from, customers$id),2].
Это упражнение является частью курса
Прогнозная аналитика на основе сетевых данных в R
Инструкции к упражнению
- Добавьте в датафрейм
edgeListстолбецFromLabelс метками узловfrom: для этого сопоставьтеcustomers$idсedgeList$fromи извлеките значенияcustomers$churn. - Сделайте то же самое для рёбер
toи назовите этот столбецToLabel. - Добавьте в датафрейм
edgeListстолбецedgeType, равный сумме столбцовFromLabelиToLabel. - Воспользуйтесь функцией
table(), чтобы посмотреть количество рёбер каждого типа.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Add the column edgeList$FromLabel
edgeList$FromLabel <- customers[match(edgeList$___, customers$___), 2]
# Add the column edgeList$ToLabel
edgeList$ToLabel <- customers[___(___, ___), 2]
# Add the column edgeList$edgeType
edgeList$edgeType <- edgeList$___ + edgeList$___
# Count the number of each type of edge
___(edgeList$edgeType)