Диаграмма Санки с сетью D3 - Создание ссылок - PullRequest
0 голосов
/ 17 мая 2019

Я пытаюсь разработать диаграмму Санки для визуализации пути клиента на веб-сайте. Мои данные имеют два поля: 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

1 Ответ

2 голосов
/ 17 мая 2019

Вы можете сделать это, используя dplyr - поскольку страницы расположены в порядке посещений, вы можете использовать lead(), чтобы получить следующую страницу:

library(dplyr)

test_data %>%
    group_by(session) %>%
    mutate(next_page = lead(page)) %>%
    ungroup() %>%
    count(page, next_page) %>%
    filter(! is.na(next_page)) 
...