load("C:/Users/monic/Desktop/MAE2020/comercio/data_comercio_exterior.RData")

#Select

library(dplyr)
library(kableExtra) 
data_comercio_exterior %>%
  select("pais", "sac","anio","mes","valor_cif") %>% 
  head() %>% kable(caption = "Ejemplo 1") %>% kable_minimal()
Ejemplo 1
pais sac anio mes valor_cif
Afganistan 4010390000 2017 04 58.06
Afganistan 6812999000 2017 04 88.38
Afganistan 8487900000 2017 04 20.93
Afganistan 8511800000 2017 04 98.93
Afganistan 8708930000 2017 04 62.18
Afganistan 9028200000 2017 04 130.06

#Filter

library(dplyr)
data_comercio_exterior %>%
  select("pais", "sac","anio","mes","valor_fob") %>%
  filter(anio=="2019", pais %in% c("Guatemala","Honduras"),valor_fob>100000)
## # A tibble: 2,889 x 5
##    pais      sac         anio mes   valor_fob
##    <chr>     <chr>      <dbl> <chr>     <dbl>
##  1 Guatemala 0105110000  2019 01      402629 
##  2 Guatemala 0403109000  2019 01      333543.
##  3 Guatemala 0406202000  2019 01      727621.
##  4 Guatemala 0406909000  2019 01      161111.
##  5 Guatemala 1101000000  2019 01      561071.
##  6 Guatemala 1102200000  2019 01      439248.
##  7 Guatemala 1103110000  2019 01      411861 
##  8 Guatemala 1516100000  2019 01      102949.
##  9 Guatemala 1517100000  2019 01      635279.
## 10 Guatemala 1604149000  2019 01      144881.
## # ... with 2,879 more rows
data_comercio_exterior %>% 
  filter(pais=="Mexico",mes %in% 10:12)
## # A tibble: 12,939 x 8
##    pais  sac    anio mes   valor_cif kilogramos_impo~ valor_fob kilogramos_expo~
##    <chr> <chr> <dbl> <chr>     <dbl>            <dbl>     <dbl>            <dbl>
##  1 Mexi~ 0402~  2017 10         331.             31.2         0                0
##  2 Mexi~ 0403~  2017 10       51406.          41599.          0                0
##  3 Mexi~ 0406~  2017 10       29547.           8375.          0                0
##  4 Mexi~ 0406~  2017 10       38576.          17347.          0                0
##  5 Mexi~ 0703~  2017 10       78626.         536662           0                0
##  6 Mexi~ 0703~  2017 10        4958.          45500           0                0
##  7 Mexi~ 0703~  2017 10         545.            100           0                0
##  8 Mexi~ 0704~  2017 10        4478.           3464           0                0
##  9 Mexi~ 0705~  2017 10       10591.          10527           0                0
## 10 Mexi~ 0705~  2017 10        3931.           3430           0                0
## # ... with 12,929 more rows
library(purrr) 
`%not_in%` <- purrr::negate(`%in%`) 
data_comercio_exterior %>% 
  filter(mes %in% 10:12,
         pais %not_in% c("Canada","Mexico","Estados Unidos (U.S.A.)"))
## # A tibble: 159,347 x 8
##    pais  sac    anio mes   valor_cif kilogramos_impo~ valor_fob kilogramos_expo~
##    <chr> <chr> <dbl> <chr>     <dbl>            <dbl>     <dbl>            <dbl>
##  1 Afga~ 6913~  2017 12       650.               5.49         0                0
##  2 Afga~ 7326~  2017 12         2                0.01         0                0
##  3 Afga~ 6104~  2018 10      3153.            2408.           0                0
##  4 Afga~ 6104~  2018 10       946.             722.           0                0
##  5 Afga~ 6105~  2018 10      9405.            7181.           0                0
##  6 Afga~ 6106~  2018 10      1353.            1726.           0                0
##  7 Afga~ 6405~  2018 10      2260.            1726.           0                0
##  8 Afga~ 8206~  2018 10         6.56             5.02         0                0
##  9 Afga~ 0910~  2019 10      1821               34.9          0                0
## 10 Alba~ 3926~  2017 10        37.5            105            0                0
## # ... with 159,337 more rows

#Mutate

data_comercio_exterior %>% 
  mutate(saldo_bc=valor_fob-valor_cif) %>% 
  select("pais","sac","anio","mes","saldo_bc")
## # A tibble: 918,981 x 5
##    pais       sac         anio mes   saldo_bc
##    <chr>      <chr>      <dbl> <chr>    <dbl>
##  1 Afganistan 4010390000  2017 04       -58.1
##  2 Afganistan 6812999000  2017 04       -88.4
##  3 Afganistan 8487900000  2017 04       -20.9
##  4 Afganistan 8511800000  2017 04       -98.9
##  5 Afganistan 8708930000  2017 04       -62.2
##  6 Afganistan 9028200000  2017 04      -130. 
##  7 Afganistan 6913100000  2017 12      -650. 
##  8 Afganistan 7326209000  2017 12        -2  
##  9 Afganistan 0806200000  2018 06     -6448. 
## 10 Afganistan 6104220000  2018 10     -3153. 
## # ... with 918,971 more rows
options(scipen = 99999)
data_comercio_exterior %>% 
  mutate(Xpt=round(valor_fob/(valor_cif+valor_fob)*100,2),
         Mpt=round(valor_cif/(valor_cif+valor_fob)*100,2)) %>% 
  select("pais","sac","anio","mes","Xpt","Mpt") %>% filter(Xpt>0)
## # A tibble: 212,380 x 6
##    pais       sac         anio mes     Xpt   Mpt
##    <chr>      <chr>      <dbl> <chr> <dbl> <dbl>
##  1 Afganistan 3004909100  2019 09    100    0   
##  2 Albania    1701140000  2019 02    100    0   
##  3 Alemania   0602100000  2017 01     98.3  1.66
##  4 Alemania   0901113000  2017 01    100    0   
##  5 Alemania   3203000000  2017 01    100    0   
##  6 Alemania   3923409000  2017 01    100    0   
##  7 Alemania   4415200000  2017 01    100    0   
##  8 Alemania   4420100000  2017 01    100    0   
##  9 Alemania   5202990000  2017 01    100    0   
## 10 Alemania   5203000000  2017 01    100    0   
## # ... with 212,370 more rows

#Arrange

options(scipen = 99999)
data_comercio_exterior %>% 
  mutate(Xpt=round(valor_fob/(valor_cif+valor_fob)*100,2),
         Mpt=round(valor_cif/(valor_cif+valor_fob)*100,2)) %>% 
  select("pais","sac","anio","mes","Xpt","Mpt") %>% 
  filter(Xpt>0) %>%
  arrange(desc(anio),desc(mes))
## # A tibble: 212,380 x 6
##    pais     sac         anio mes      Xpt    Mpt
##    <chr>    <chr>      <dbl> <chr>  <dbl>  <dbl>
##  1 Alemania 0901113000  2020 07    100      0   
##  2 Alemania 0901210000  2020 07    100      0   
##  3 Alemania 1301909000  2020 07    100      0   
##  4 Alemania 1604149000  2020 07    100      0   
##  5 Alemania 2208401000  2020 07    100      0   
##  6 Alemania 3808930000  2020 07     90.4    9.65
##  7 Alemania 3901100000  2020 07    100      0   
##  8 Alemania 3926909900  2020 07      0.01 100.  
##  9 Alemania 4909000000  2020 07    100      0   
## 10 Alemania 5806200000  2020 07    100      0   
## # ... with 212,370 more rows

#Summarize

data_comercio_exterior %>% 
  group_by(anio) %>%
  summarise(`Total Exportaciones MM US$`=sum(valor_fob)/1e6,
            `Total Importaciones MM US$`=sum(valor_cif)/1e6)
## # A tibble: 4 x 3
##    anio `Total Exportaciones MM US$` `Total Importaciones MM US$`
##   <dbl>                        <dbl>                        <dbl>
## 1  2017                        5760.                       10572.
## 2  2018                        5905.                       11830.
## 3  2019                        5943.                       12018.
## 4  2020                        2662.                        5796.
data_comercio_exterior %>% 
  group_by(pais,anio) %>%
  summarise(`Total Exportaciones`=sum(valor_fob),
            `Total Importaciones`=sum(valor_cif))
## # A tibble: 794 x 4
## # Groups:   pais [230]
##    pais        anio `Total Exportaciones` `Total Importaciones`
##    <chr>      <dbl>                 <dbl>                 <dbl>
##  1 Afganistan  2017                    0                  1111.
##  2 Afganistan  2018                    0                 23573.
##  3 Afganistan  2019                  382.                13114.
##  4 Albania     2017                    0                 12643.
##  5 Albania     2018                    0                 18307.
##  6 Albania     2019                51392.                25660.
##  7 Albania     2020                    0                115956.
##  8 Alemania    2017             24026197.            183179994.
##  9 Alemania    2018             20425283.            185817905.
## 10 Alemania    2019             21719980.            174500554.
## # ... with 784 more rows