Цель
Я стремлюсь сделать несколько Sankey в R, используя пакет googleVis
. Вывод должен выглядеть примерно так:
Данные
Я создал некоторые фиктивные данные в R:
set.seed(1)
source <- sample(c("North","South","East","West"),100,replace=T)
mid <- sample(c("North ","South ","East ","West "),100,replace=T)
destination <- sample(c("North","South","East","West"),100,replace=T) # N.B. It is important to have a space after the second set of destinations to avoid a cycle
dummy <- rep(1,100) # For aggregation
dat <- data.frame(source,mid,destination,dummy)
aggdat <- aggregate(dummy~source+mid+destination,dat,sum)
Что я пробовал до сих пор
Я могу построить Sankey с двумя переменными, если у меня есть только источник и пункт назначения, но не средняя точка:
aggdat <- aggregate(dummy~source+destination,dat,sum)
library(googleVis)
p <- gvisSankey(aggdat,from="source",to="destination",weight="dummy")
plot(p)
Код производит это:
Вопрос
Как изменить
p <- gvisSankey(aggdat,from="source",to="destination",weight="dummy")
принять и переменную mid
?