knitr::opts_chunk$set(echo = TRUE) library(networkD3) library(dplyr) # library(tidyverse)
This sankey diagram can be integrated in a It could preload data for all years and have a slider for year. If the data is not too large, the slider could
Adding a slider input with a play button
Reporter and partner should have different codes.
Error: It looks like Source/Target is not zero-indexed. This is required in JavaScript and so your plot may not render. The problem is that countries in the nodes data frame are only indexed by position (javascript tables are zero-indexed) there is no code variable in the nodes table
library(eutradeflows) con <- RMariaDB::dbConnect(RMariaDB::MariaDB(), dbname = "tradeflows") # Raw Eurostat Comext data wood <- tbl(con, "vld_comext_monthly") %>% filter(productcode == 44072199 & flowcode == 1 & period == "201702") %>% # head(200) %>% collect() reporter <- tbl(con, "vld_comext_reporter") %>% collect() partner <- tbl(con, "vld_comext_partner") %>% collect() wood2 <- wood %>% # Remove partner 1010 and reporter 0 filter(partnercode != 1010 & partnercode != 1011 & reportercode !=0) %>% preparesankeynodes(reporter, partner, debugname = TRUE) wood2 %>% plotsankey(value = "tradevalue", units = "K€") wood2 %>% plotsankey(value = "quantity", units = "M3")
wood <- tbl(con, "vld_comext_monthly") %>% filter(productcode %like% '4407%' & flowcode == 1 & period == "201705") %>% group_by(reportercode, partnercode) %>% summarise(tradevalue = sum(tradevalue)) %>% collect() summary(wood$tradevalue) # Largest sawnwood tradeflows wood %>% filter(partnercode != 1010 & partnercode != 1011 & reportercode !=0) %>% filter(tradevalue > 2000) %>% preparesankeynodes(reporter, partner) %>% plotsankey()
Cameroon, Central African Republic, Ghana, Indonesia, Liberia, Republic of the Congo
Negotiating Côte d'Ivoire, Democratic Republic of the Congo, Gabon, Guyana, Honduras, Laos, Malaysia, Thailand, Vietnam Contact
vpaimplementing <- c(302,306,276,700,268,318) vpanegotiating <- c(272,322,314,488,424,684,701,680,690) vpa <- c(vpaimplementing, vpanegotiating) # Sawnwood tradeflows with VPA countries wood <- tbl(con, "vld_comext_monthly") %>% filter(productcode %like% '4407%' & flowcode == 1 & period >= 201701) %>% group_by(reportercode, partnercode) %>% summarise(tradevalue = sum(tradevalue)) %>% collect() summary(wood$tradevalue) wood %>% filter(partnercode != 1010 & partnercode != 1011 & reportercode !=0) %>% filter(partnercode %in% vpa) %>% preparesankeynodes(reporter, partner) %>% plotsankey()
wood <- tbl(con, "vld_comext_monthly") %>% filter(productcode %like% '4412%' & flowcode == 1 & period >= 201701) %>% group_by(reportercode, partnercode) %>% summarise(tradevalue = sum(tradevalue)) %>% collect() summary(wood$tradevalue) wood %>% filter(partnercode != 1010 & partnercode != 1011 & reportercode !=0) %>% filter(partnercode %in% vpa) %>% preparesankeynodes(reporter, partner) %>% plotsankey()
940330 Furniture; wooden, for office use 940340 Furniture; wooden, for kitchen use 940350 Furniture; wooden, for bedroom use 940360 Furniture; wooden, other than for office, kitchen or bedroom u
wood <- tbl(con, "vld_comext_monthly") %>% filter(productcode %like% '94033%' | productcode %like% '94034%' | productcode %like% '94035%' | productcode %like% '94036%') %>% filter(flowcode == 1 & period >= 201701) %>% group_by(reportercode, partnercode) %>% summarise(tradevalue = sum(tradevalue)) %>% collect() summary(wood$tradevalue) wood %>% filter(partnercode != 1010 & partnercode != 1011 & reportercode !=0) %>% filter(partnercode %in% vpa) %>% preparesankeynodes(reporter, partner) %>% plotsankey()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.