加权的sankey /冲积图可以可视化嵌套数据?

时间:2018-06-30 03:55:17

标签: r charts visualization data-visualization sankey-diagram

我正在尝试显示包含两个离散变量和1个连续变量的个体的面板数据。在这种情况下,我有不同的门(离散1),并且不同类别的分类单元(离散2)嵌套在不同的门中。我也有不同类别的相对丰富(连续的)。在8个时间点收集了此数据,每个时间点采样了10个人。

我想要:

  • 堆叠的条形图(多个水平分布的列) 显示堆积的门和它们的丰度。

  • 连接到门垂直细分的冲积流 是每个门中的类,具有流的宽度
    代表相对丰度。

  • 以连续时间加权的时间段显示“流量”
    每个时间段的变量。

  • x轴是不同的时间点(lodes)。

定义here

我已经制作了这些虚假数据来证明我的想法:

set.seed(42)
individual <- rep(LETTERS[1:10],each=2)
timeperiod <- paste0("time_",rep(1:2,10))
Phylum <- factor(paste0("Phlyum_",sample(letters[1:3],20, replace=T)))
Class <- factor(paste0("Class_",sample(1:3,20, replace=T)))
continuouschoice <- ceiling(runif(20, 0, 100))

d <- data.frame(individual, timeperiod, Phylum, Class, continuouschoice)
d

library(ggalluvial)
ggplot(
  data = d,
  aes(
    x = timeperiod,
    stratum = Phylum,
    alluvium = individual,
    weight = continuouschoice
     )
    ) +
  geom_stratum(aes(fill = Phylum)) +
  geom_flow(aes(fill=Class))

但是,当我尝试将此示例调整为适合自己的数据时,流程不会出现。我认为这是因为在示例数据中,每个类别都位于每个门中。但是,根据我自己的数据,每个门都有独特的类别。

有人可以帮我修改此更改的ggplot调用吗?

从此处绘制的示例:Weighted sankey / alluvial diagram for visualizing discrete and continuous panel data?

0 个答案:

没有答案