首页 > 解决方案 > 在 R 中创建一个冲积图来展示网络流量

问题描述

我有一个数据集,读起来像一个日志文件,显示每个用户与网站的交互。我正在尝试可视化这些数据以显示通过该站点的最常见的序列/路径(不,我无权访问 Google Analytics - 只是一个数据转储。)我已经能够将数据提炼成一种格式包含页面及其被访问的第一、第二、第三页等的次数。

我想我可能会创建一个按顺序位置分层的冲积图(使用 ggaluvial)。我已经粗略地整理了一个我想要的版本:

冲积地块样本

这是一种生成一些类似于我的结构的示例数据的方法:

pages <- rep(c("Home", "About", "People", "Contact", "Products"), each=6)
positions <- sample(c(1,2,3,4,5))
counts <- sample(1:100, 30)
df_colnames <- c("Page", "Position", "Count")

df <- data.frame(pages, positions, counts)
colnames(df) <- df_colnames

但是,如果这有意义的话,我似乎无法让 ggaluvial 接受单个列作为重复层。这是我所拥有的,但没有太多可继续的:

library(ggalluvial)
ggplot(df, 
       aes(axis1 = Page,
           axis2 = Position,
           y = Count)) +
  geom_alluvium() +
  geom_stratum() +
  geom_text(stat = "stratum", 
            label.strata = TRUE) +
  theme_minimal()

这只是我一直在尝试的事情。如果您知道将这些信息可视化的更好方法,我会全力以赴。

先感谢您。

标签: rdata-visualizationggalluvial

解决方案


推荐阅读