我正在尝试开发一个sankey图表,以可视化网站上的客户旅程。我的数据有两个字段: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
答案 0 :(得分:2)
您可以使用dplyr
进行此操作-由于页面是按访问顺序排列的,因此您可以使用lead()
来获取下一页:
library(dplyr)
test_data %>%
group_by(session) %>%
mutate(next_page = lead(page)) %>%
ungroup() %>%
count(page, next_page) %>%
filter(! is.na(next_page))