Como criar um Sankey múltiplo do googleVis a partir de um data.frame?

Alvo

Eu pretendo fazer um Sankey múltiplo em R usando ogoogleVis pacote. A saída deve ser semelhante a esta:

Dados

Eu criei alguns dados fictícios no 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)
O que eu tentei até agora

Posso construir uma Sankey com 2 variáveis, se tiver apenas uma fonte e um destino, mas não um ponto intermediário:

aggdat <- aggregate(dummy~source+destination,dat,sum)

library(googleVis)

p <- gvisSankey(aggdat,from="source",to="destination",weight="dummy")
plot(p)

O código produz isso:

Pergunta, questão

Como faço para modificar

p <- gvisSankey(aggdat,from="source",to="destination",weight="dummy")

aceitar omid variável também?

questionAnswers(1)

yourAnswerToTheQuestion