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

#Select

library(dplyr)
library(kableExtra) 
data_comercio_exterior_actualizacion %>%
  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 4 58.06
Afganistan 6812999000 2017 4 88.38
Afganistan 8487900000 2017 4 20.93
Afganistan 8511800000 2017 4 98.93
Afganistan 8708930000 2017 4 62.18
Afganistan 9028200000 2017 4 130.06

#Filter

library(dplyr)
data_comercio_exterior_actualizacion %>%
  select("pais", "sac","anio","mes","valor_fob") %>%
  filter(anio=="2019", pais %in% c("Guatemala","Honduras"),valor_fob>100000)
## # A tibble: 2,988 x 5
##    pais      sac         anio   mes valor_fob
##    <chr>     <chr>      <dbl> <dbl>     <dbl>
##  1 Guatemala 0105110000  2019     1   108886.
##  2 Guatemala 0202300000  2019     1   460468.
##  3 Guatemala 0207120000  2019     1   266657.
##  4 Guatemala 0603110000  2019     1   138516.
##  5 Guatemala 0701900000  2019     1  1861870.
##  6 Guatemala 0702000000  2019     1   484976.
##  7 Guatemala 0703101200  2019     1   258420.
##  8 Guatemala 0704100000  2019     1   301069.
##  9 Guatemala 0704900000  2019     1   709192.
## 10 Guatemala 0705110000  2019     1   305408.
## # ... with 2,978 more rows
data_comercio_exterior_actualizacion %>% 
  filter(pais=="Mexico",mes %in% 10:12)
## # A tibble: 12,576 x 8
##    pais  sac    anio   mes valor_cif kilogramos_impo~ valor_fob kilogramos_expo~
##    <chr> <chr> <dbl> <dbl>     <dbl>            <dbl>     <dbl>            <dbl>
##  1 Mexi~ 0402~  2017    10      331.             31.2      331.             31.2
##  2 Mexi~ 0403~  2017    10    51406.          41599.     51406.          41599. 
##  3 Mexi~ 0406~  2017    10    29547.           8375.     29547.           8375. 
##  4 Mexi~ 0406~  2017    10    38576.          17347.     38576.          17347. 
##  5 Mexi~ 0703~  2017    10    78626.         536662      78626.         536662  
##  6 Mexi~ 0703~  2017    10     4958.          45500       4958.          45500  
##  7 Mexi~ 0703~  2017    10      545.            100        545.            100  
##  8 Mexi~ 0704~  2017    10     4478.           3464       4478.           3464  
##  9 Mexi~ 0705~  2017    10    10591.          10527      10591.          10527  
## 10 Mexi~ 0705~  2017    10     3931.           3430       3931.           3430  
## # ... with 12,566 more rows
library(purrr) 
`%not_in%` <- purrr::negate(`%in%`) 
data_comercio_exterior_actualizacion %>% 
  filter(mes %in% 10:12,
         pais %not_in% c("Canada","Mexico","Estados Unidos (U.S.A.)"))
## # A tibble: 129,481 x 8
##    pais  sac    anio   mes valor_cif kilogramos_impo~ valor_fob kilogramos_expo~
##    <chr> <chr> <dbl> <dbl>     <dbl>            <dbl>     <dbl>            <dbl>
##  1 Afga~ 6913~  2017    12    650.               5.49    650.               5.49
##  2 Afga~ 7326~  2017    12      2                0.01      2                0.01
##  3 Afga~ 6104~  2018    10   3153.            2408.     3153.            2408.  
##  4 Afga~ 6104~  2018    10    946.             722.      946.             722.  
##  5 Afga~ 6105~  2018    10   9405.            7181.     9405.            7181.  
##  6 Afga~ 6106~  2018    10   1353.            1726.     1353.            1726.  
##  7 Afga~ 6405~  2018    10   2260.            1726.     2260.            1726.  
##  8 Afga~ 8206~  2018    10      6.56             5.02      6.56             5.02
##  9 Afga~ 0910~  2019    10   1821               34.9    1821               34.9 
## 10 Alba~ 3926~  2017    10     37.5            105        37.5            105   
## # ... with 129,471 more rows

#Mutate

data_comercio_exterior_actualizacion %>% 
  mutate(saldo_bc=valor_fob-valor_cif) %>% 
  select("pais","sac","anio","mes","saldo_bc")
## # A tibble: 789,298 x 5
##    pais       sac         anio   mes saldo_bc
##    <chr>      <chr>      <dbl> <dbl>    <dbl>
##  1 Afganistan 4010390000  2017     4        0
##  2 Afganistan 6812999000  2017     4        0
##  3 Afganistan 8487900000  2017     4        0
##  4 Afganistan 8511800000  2017     4        0
##  5 Afganistan 8708930000  2017     4        0
##  6 Afganistan 9028200000  2017     4        0
##  7 Afganistan 6913100000  2017    12        0
##  8 Afganistan 7326209000  2017    12        0
##  9 Afganistan 0806200000  2018     6        0
## 10 Afganistan 6104220000  2018    10        0
## # ... with 789,288 more rows
options(scipen = 99999)
data_comercio_exterior_actualizacion %>% 
  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: 774,561 x 6
##    pais       sac         anio   mes   Xpt   Mpt
##    <chr>      <chr>      <dbl> <dbl> <dbl> <dbl>
##  1 Afganistan 4010390000  2017     4    50    50
##  2 Afganistan 6812999000  2017     4    50    50
##  3 Afganistan 8487900000  2017     4    50    50
##  4 Afganistan 8511800000  2017     4    50    50
##  5 Afganistan 8708930000  2017     4    50    50
##  6 Afganistan 9028200000  2017     4    50    50
##  7 Afganistan 6913100000  2017    12    50    50
##  8 Afganistan 7326209000  2017    12    50    50
##  9 Afganistan 0806200000  2018     6    50    50
## 10 Afganistan 6104220000  2018    10    50    50
## # ... with 774,551 more rows

#Arrange

options(scipen = 99999)
data_comercio_exterior_actualizacion %>% 
  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: 774,561 x 6
##    pais     sac         anio   mes   Xpt   Mpt
##    <chr>    <chr>      <dbl> <dbl> <dbl> <dbl>
##  1 Alemania 0106200000  2020     8 100    0   
##  2 Alemania 0901113000  2020     8 100    0   
##  3 Alemania 0901210000  2020     8 100    0   
##  4 Alemania 1604149000  2020     8 100    0   
##  5 Alemania 3808930000  2020     8  96.7  3.31
##  6 Alemania 4202910000  2020     8 100    0   
##  7 Alemania 4417000000  2020     8 100    0   
##  8 Alemania 5806200000  2020     8 100    0   
##  9 Alemania 6103430000  2020     8 100    0   
## 10 Alemania 6104630000  2020     8 100    0   
## # ... with 774,551 more rows

#Summarize

data_comercio_exterior_actualizacion %>% 
  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                       10572.                       10572.
## 2  2018                       11830.                       11830.
## 3  2019                       12018.                       12018.
## 4  2020                        6227.                        6616.
data_comercio_exterior_actualizacion %>% 
  group_by(pais,anio) %>%
  summarise(`Total Exportaciones`=sum(valor_fob),
            `Total Importaciones`=sum(valor_cif))
## # A tibble: 767 x 4
## # Groups:   pais [228]
##    pais        anio `Total Exportaciones` `Total Importaciones`
##    <chr>      <dbl>                 <dbl>                 <dbl>
##  1 Afganistan  2017                 1111.                 1111.
##  2 Afganistan  2018                23573.                23573.
##  3 Afganistan  2019                13114.                13114.
##  4 Afganistan  2020                    0                   844.
##  5 Albania     2017                12643.                12643.
##  6 Albania     2018                18307.                18307.
##  7 Albania     2019                25660.                25660.
##  8 Albania     2020               115956.               125134.
##  9 Alemania    2017            183179994.            183179994.
## 10 Alemania    2018            185817905.            185817905.
## # ... with 757 more rows