Я пытаюсь разработать диаграмму Санки, чтобы визуализировать путь клиента на веб-сайте. Мои данные имеют два поля: Session_ID и Page_Name. Я установил ограничение на глубину страницы, чтобы иметь максимум 6 страниц за сеанс.
Я смог создать узлы, но не смог создать ссылки. Ссылки должны быть в форме (источник, цель, частота). Ниже моя структура данных:
test_data = data.frame(session = rep(1:4, each = 4),
page = c("a","b","c","d", "a","c","d","e","a","b","d","c","a","d","e","f"))
Это должны быть окончательные данные:
a,b,2
b,c,1
c,d,2
a,c,1
d,e,2
b,d,1
d,c,1
a,d,1
d,f,1
Извиняюсь. да ты прав. Это каждый = 4





Вы можете сделать это, используя dplyr — поскольку страницы расположены в порядке посещения, вы можете использовать lead(), чтобы перейти на следующую страницу:
library(dplyr)
test_data %>%
group_by(session) %>%
mutate(next_page = lead(page)) %>%
ungroup() %>%
count(page, next_page) %>%
filter(! is.na(next_page))
Предполагается, что это группировка внутри сессий? У меня возникли проблемы с получением ожидаемого результата с данными вашего примера, например. сеанс 1 - это все «а». Хотели
session = rep(1:4, each = 4)?