使用networkD3包中的sankeyPlot()重新构建Sankey图的数据输入



我试图在networkD3包中使用sankeyPlot()绘制Sankey图。可视化在以下示例数据上工作得很好

节点
node
1124107186
1124132760
1124119016
20150517
/matte-low-dome-49354
/accounts/account-order-list.html
/Stepp

和链接

 source target   value
0        3       5
1        3       9
2        3       1
3        4       6
3        5       12
3        6       8

但是很难从csv文件中以

格式准备链接表
       URI                          DATE_KEY    TIME_KEY GUID_KEY
/matte-low-dome-49354               20150517    145755  1124107186
/matte-low-dome-49355               20150517    145755  1124107186
/accounts/account-order-list.html   20150517    143857  1124132760
/accounts/account-order-list.html   20150517    143857  1124132760
/Stepp                              20150517    143416  1124119016
/Stepp                              20150517    143415  1124119016
/platinum-47184                     20150517    145637  1124107186

是否有一种可重复的方式来准备源,目标行号为这样的数据集?

我想出了在Excel中使用vlookup和pivot的方法。我使用row()

为每个唯一变量项分配行号
variable          row
20150517           1
20150518           2
/platinum-47184    3

,并在另一个表中对其名称进行vlookup,从而以序列号的形式获得源和目标。然后,我运行一个枢轴来获得每个唯一变量组合的计数,如下所示

 source                              target   value
/matte-low-dome-49354               20150517    12 
/matte-low-dome-49355               20150517    6

我可以使用这个作为制作Sankey情节的输入。

这不是一种非常可编程的方式,但它达到了目的。

相关内容

  • 没有找到相关文章