library(tidyverse)
## Loading tidyverse: ggplot2
## Loading tidyverse: tibble
## Loading tidyverse: tidyr
## Loading tidyverse: readr
## Loading tidyverse: purrr
## Loading tidyverse: dplyr
## Conflicts with tidy packages ----------------------------------------------
## filter(): dplyr, stats
## lag(): dplyr, stats
library(xlsx)
## Loading required package: rJava
## Loading required package: xlsxjars
fdi16 <- read.xlsx("/Users/vancam/KTLR/R_Vanthuchanh/Data/fdi16.xlsx", 1)
library(raster)
## Loading required package: sp
##
## Attaching package: 'raster'
## The following object is masked from 'package:dplyr':
##
## select
## The following object is masked from 'package:tidyr':
##
## extract
# Lấy dữ liệu cho VN ở cấp tỉnh:
vietnam <- getData("GADM", country = "Vietnam", level = 1)
head(vietnam)
## OBJECTID ID_0 ISO NAME_0 ID_1 NAME_1 HASC_1
## 1 1 250 VNM Vietnam 1 <U+0110><U+00E0> N<U+1EB5>ng VN.DA
## 2 2 250 VNM Vietnam 2 <U+0110><U+1ED3>ng Nai VN.DN
## 3 3 250 VNM Vietnam 3 <U+0110><U+1ED3>ng Th<U+00E1>p VN.DT
## 4 4 250 VNM Vietnam 4 <U+0110><U+0103>k N<U+00F4>ng VN.DO
## 5 5 250 VNM Vietnam 5 <U+0110><U+1EAF>k L<U+1EAF>k VN.DC
## 6 6 250 VNM Vietnam 6 <U+0110>i<U+1EC7>n Bi<U+00EA>n VN.DB
## CCN_1 CCA_1 TYPE_1
## 1 NA 501 Th<U+00E0>nh ph<U+1ED1> tr<U+1EF1>c thu<U+1ED9>c t<U+1EC9>nh
## 2 NA 713 T<U+1EC9>nh
## 3 NA 803 T<U+1EC9>nh
## 4 NA 606 T<U+1EC9>nh
## 5 NA 605 T<U+1EC9>nh
## 6 NA 302 T<U+1EC9>nh
## ENGTYPE_1 NL_NAME_1 VARNAME_1
## 1 City|Municipality|Thanh Pho Da Nang City|Da Nang
## 2 Province Dong Nai
## 3 Province Dong Thap
## 4 Province Dac Nong
## 5 Province Dak Lak|Dac Lac
## 6 Province Dien Bien
library(tidyverse)
vietnam_df <- vietnam %>% fortify(region = "ID_1")
head(vietnam_df)
## long lat order hole piece id group
## 1 107.9137 16.21422 1 FALSE 1 1 1.1
## 2 107.9139 16.21408 2 FALSE 1 1 1.1
## 3 107.9140 16.21396 3 FALSE 1 1 1.1
## 4 107.9141 16.21377 4 FALSE 1 1 1.1
## 5 107.9141 16.21355 5 FALSE 1 1 1.1
## 6 107.9142 16.21323 6 FALSE 1 1 1.1
library(magrittr)
##
## Attaching package: 'magrittr'
## The following object is masked from 'package:raster':
##
## extract
## The following object is masked from 'package:purrr':
##
## set_names
## The following object is masked from 'package:tidyr':
##
## extract
vietnam_df %<>% mutate(id = as.numeric(id))
vietnam_df_share <- full_join(vietnam_df, fdi16, by = "id")
vietnam_df_share %>% head()
## long lat order hole piece id group name total
## 1 107.9137 16.21422 1 FALSE 1 1 1.1 Da Nang 107.8
## 2 107.9139 16.21408 2 FALSE 1 1 1.1 Da Nang 107.8
## 3 107.9140 16.21396 3 FALSE 1 1 1.1 Da Nang 107.8
## 4 107.9141 16.21377 4 FALSE 1 1 1.1 Da Nang 107.8
## 5 107.9141 16.21355 5 FALSE 1 1 1.1 Da Nang 107.8
## 6 107.9142 16.21323 6 FALSE 1 1 1.1 Da Nang 107.8
m2 <- vietnam_df_share %>%
ggplot(aes(x = long, y = lat, group = group))+
geom_polygon(aes(fill = total), color = "grey30") +
scale_fill_gradient(name = "Total Million USD")+
labs(title = "FDI by provinces in Vietnam in 2016",
caption = "Source: GSO")
m2
You can also embed plots, for example:
Note that the echo = FALSE parameter was added to the code chunk to prevent printing of the R code that generated the plot.