【问题标题】:Sankey Chart with networkD3 - Creating Links带有 networkD3 的桑基图 - 创建链接
【发布时间】:2019-05-17 05:09:20
【问题描述】:

我正在尝试开发一个桑基图来可视化网站上的客户旅程。我的数据有两个字段:Session_IDPage_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 都是“a”。你想要session = rep(1:4, each = 4)吗?
  • 对不起。是的,你是对的。每个 = 4

标签: r sankey-diagram htmlwidgets networkd3


【解决方案1】:

您可以使用dplyr 执行此操作 - 由于页面按访问顺序排列,您可以使用lead() 获取下一页:

library(dplyr)

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

【讨论】:

    猜你喜欢
    • 2015-08-22
    • 2017-10-23
    • 2019-07-11
    • 1970-01-01
    • 2019-07-13
    • 1970-01-01
    • 2019-02-22
    • 1970-01-01
    • 2021-06-23
    相关资源
    最近更新 更多