Exports

Column

Annual Exports

Exports on the world map

Column

Export by Products

Export by Country

Imports

Column

Annual Imports

Imports on the world map

Column

Import by Products

Import by Country

---
title: "New Zealand Trade Dashboard (2014-2019)"
author: "Varun Khanna"
output: 
  flexdashboard::flex_dashboard:
    orientation: columns
    social: menu
    source_code: embed

---
```{r global3 setup, include=FALSE}
#Loading Libraries & setting theme of the layout
LoadLibraries <- function(){
  library(highcharter)
  library(dplyr)
  library(viridisLite)
  library(forecast)
  library(treemap)
  library(flexdashboard)
    
}

LoadLibraries()
thm <- 
  hc_theme(
    colors = c("#1a6ecc", "#434348", "#90ed7d"),
    chart = list(
      backgroundColor = "transparent",
      style = list(fontFamily = "Source Sans Pro")
    ),
    xAxis = list(
      gridLineWidth = 1
    )
  )

#Loading in data
df <- read.csv("trade_data.csv")

#exports of goods only
df.exports <- df[df$type == "exports" & df$product_type =="good",]
#changing some factoring
levels(df.exports$country)[levels(df.exports$country)=="China, People's Republic of"] <- "China"
levels(df.exports$country)[levels(df.exports$country)=="Korea, Republic of"] <- "Korea"
```
Exports
======================================================================= 

Column {data-width=500}
-----------------------------------------------------------------------

### Annual Exports

```{r}


df.exports%>%
  group_by(year)%>%
  summarise(value = sum(value))%>%
  arrange(desc(value))%>%
  top_n(20)%>%
  hchart(type = "column", hcaes(x =year,y = value))%>%
  hc_yAxis(title = list(text = "Value in Billions"))


```




### Exports on the world map
```{r}
df.test <-df.exports%>%
  group_by(country)%>%
  summarise(
    value = sum(value))
#levels(df.test$country)[levels(df.test$country)=="China, People's Republic of"] <- "China"
data(worldgeojson, package = "highcharter")

#mapping
highchart(type = "map") %>% 
  hc_add_series_map(map = worldgeojson, df =  df.test, value = "value", joinBy = c("name","country")) %>% 
  hc_colorAxis(stops = color_stops()) %>% 
  hc_tooltip(useHTML = TRUE, headerFormat = "",
             pointFormat = "NZ has exported ${point.value} worth of goods to {point.name} ")

```




Column {.tabset data-width=500}
-----------------------------------------------------------------------

### Export by Products


```{r, fig.keep='none'}



tree.map <- treemap(df.exports, index ="product_description",
                          vSize = "value", vColor = "value",
                          type = "value", palette = rev(viridis(6)))

highchart() %>% 
  hc_add_series_treemap(tree.map, allowDrillToNode = TRUE,
                        layoutAlgorithm = "squarified") %>% 
  hc_add_theme(thm)



```

### Export by Country

```{r}

# tree.map <- treemap(df.exports, index ="country",
#                           vSize = "value", vColor = "value",
#                           type = "value", palette = rev(viridis(6)))
# 
# highchart() %>% 
#   hc_add_series_treemap(tree.map, allowDrillToNode = TRUE,
#                         layoutAlgorithm = "squarified") %>% 
#   hc_add_theme(thm)


df.exports%>%
  group_by(country)%>%
  summarise(value = sum(value))%>%
  arrange(desc(value))%>%
  top_n(20)%>%
  hchart(type = "bar", hcaes(x = country,y = value))%>%
  hc_yAxis(title = list(text = "Value in Billions"))


```


Imports
======================================================================= 

```{r global, include=FALSE}

thm <- 
  hc_theme(
    colors = c("#1a6ecc", "#434348", "#90ed7d"),
    chart = list(
      backgroundColor = "transparent",
      style = list(fontFamily = "Source Sans Pro")
    ),
    xAxis = list(
      gridLineWidth = 1
    )
  )



#exports of goods only
df.imports <- df[df$type == "imports" & df$product_type =="good",]
#changing some factoring
levels(df.imports$country)[levels(df.imports$country)=="China, People's Republic of"] <- "China"
levels(df.imports$country)[levels(df.imports$country)=="Korea, Republic of"] <- "Korea"
```

Column {data-width=500}
-----------------------------------------------------------------------

### Annual Imports

```{r}


df.imports%>%
  group_by(year)%>%
  summarise(value = sum(value))%>%
  arrange(desc(value))%>%
  top_n(20)%>%
  hchart(type = "column", hcaes(x =year,y = value))%>%
  hc_yAxis(title = list(text = "Value in Billions"))


```




### Imports on the world map
```{r}
df.test <-df.imports%>%
  group_by(country)%>%
  summarise(
    value = sum(value))
#levels(df.test$country)[levels(df.test$country)=="China, People's Republic of"] <- "China"
data(worldgeojson, package = "highcharter")

#mapping
highchart(type = "map") %>% 
  hc_add_series_map(map = worldgeojson, df =  df.test, value = "value", joinBy = c("name","country")) %>% 
  hc_colorAxis(stops = color_stops()) %>% 
  hc_tooltip(useHTML = TRUE, headerFormat = "",
             pointFormat = "NZ has imported ${point.value} worth of goods to {point.name} ")

```




Column {.tabset data-width=500}
-----------------------------------------------------------------------

### Import by Products


```{r, fig.keep='none'}



tree.map <- treemap(df.imports, index ="product_description",
                          vSize = "value", vColor = "value",
                          type = "value", palette = rev(viridis(6)))

highchart() %>% 
  hc_add_series_treemap(tree.map, allowDrillToNode = TRUE,
                        layoutAlgorithm = "squarified") %>% 
  hc_add_theme(thm)



```

### Import by Country

```{r}

# tree.map <- treemap(df.imports, index ="country",
#                           vSize = "value", vColor = "value",
#                           type = "value", palette = rev(viridis(6)))
# 
# highchart() %>% 
#   hc_add_series_treemap(tree.map, allowDrillToNode = TRUE,
#                         layoutAlgorithm = "squarified") %>% 
#   hc_add_theme(thm)


df.imports%>%
  group_by(country)%>%
  summarise(value = sum(value))%>%
  arrange(desc(value))%>%
  top_n(20)%>%
  hchart(type = "bar", hcaes(x = country,y = value))%>%
  hc_yAxis(title = list(text = "Value in Billions"))


```