###Cargar paquetes basicos
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
###Importar datos

## 1_Localizar direccion de los dataframes que estan en 
## dos hojas diferentes del archivo excel y asignar a una ruta

ruta_datos="~/Metodos/doc_join/Datos_Dataframes3.xlsx"

## 2_Cargar paquete para importar excel files
library(readxl)

## 3_Importar dataframe 1
dataframe_1<- read_excel(path=ruta_datos, sheet=1)%>%
  print(n=100)
## # A tibble: 22 × 4
##    ID     Var1  Var2  Var3
##    <chr> <dbl> <dbl> <dbl>
##  1 ID1       9     3    27
##  2 ID4      19     2    38
##  3 ID7      33     5   165
##  4 ID3      12     7    84
##  5 ID10     24     5   120
##  6 ID11     12     4    48
##  7 ID13     14     1    14
##  8 ID19     55     4   220
##  9 ID22     27     9   243
## 10 ID34     12     4    48
## 11 ID9      23     2    46
## 12 ID2      45     1    45
## 13 ID5      14     6    84
## 14 ID32     24     3    72
## 15 ID45     15     2    30
## 16 ID113    12     7    84
## 17 ID110    24     5   120
## 18 ID111    12     4    48
## 19 ID113    14     1    14
## 20 ID119    55     4   220
## 21 ID122    27     9   243
## 22 ID134    12     4    48
## 4_Importar dataframe 2
dataframe_2<- read_excel(path=ruta_datos, sheet=2)%>%
  print(n=100)
## # A tibble: 31 × 4
##    ID    Var4   Var5  Var6
##    <chr> <chr> <dbl> <dbl>
##  1 ID15  high     17     4
##  2 ID1   low      23     2
##  3 ID7   low      15     1
##  4 ID3   low      12     3
##  5 ID10  low      22     6
##  6 ID11  high     14     2
##  7 ID13  low      27     1
##  8 ID19  low      14     4
##  9 ID22  low      12     4
## 10 ID34  low      14     3
## 11 ID9   high     11     2
## 12 ID2   high      9     2
## 13 ID5   low       9     4
## 14 ID6   high     14     2
## 15 ID25  low      22     6
## 16 ID28  low       9     4
## 17 ID65  low      22     6
## 18 ID67  high     14     2
## 19 ID72  low      27     1
## 20 ID71  low      14     4
## 21 ID79  high     11     2
## 22 ID69  high      9     2
## 23 ID90  low       9     4
## 24 ID96  high     14     2
## 25 ID227 low      15     1
## 26 ID223 low      12     3
## 27 ID210 low      22     6
## 28 ID211 high     14     2
## 29 ID213 low      27     1
## 30 ID219 low      14     4
## 31 ID222 low      12     4
### Fusionar tablas mantiendo observaciones comunes 
# en amabas tablas 

dataframe_comun<-dataframe_1 %>%
  inner_join(dataframe_2, by=c("ID"= "ID" ))%>%
  print(n=100)
## # A tibble: 12 × 7
##    ID     Var1  Var2  Var3 Var4   Var5  Var6
##    <chr> <dbl> <dbl> <dbl> <chr> <dbl> <dbl>
##  1 ID1       9     3    27 low      23     2
##  2 ID7      33     5   165 low      15     1
##  3 ID3      12     7    84 low      12     3
##  4 ID10     24     5   120 low      22     6
##  5 ID11     12     4    48 high     14     2
##  6 ID13     14     1    14 low      27     1
##  7 ID19     55     4   220 low      14     4
##  8 ID22     27     9   243 low      12     4
##  9 ID34     12     4    48 low      14     3
## 10 ID9      23     2    46 high     11     2
## 11 ID2      45     1    45 high      9     2
## 12 ID5      14     6    84 low       9     4
## fusionar tablas mantiendo todas las observaciones de la
# tabla inzquierda

dataframe_1_complementado<-dataframe_1 %>%
  left_join(dataframe_2, by=c("ID"= "ID" ))%>%
  print(n=100)
## # A tibble: 22 × 7
##    ID     Var1  Var2  Var3 Var4   Var5  Var6
##    <chr> <dbl> <dbl> <dbl> <chr> <dbl> <dbl>
##  1 ID1       9     3    27 low      23     2
##  2 ID4      19     2    38 <NA>     NA    NA
##  3 ID7      33     5   165 low      15     1
##  4 ID3      12     7    84 low      12     3
##  5 ID10     24     5   120 low      22     6
##  6 ID11     12     4    48 high     14     2
##  7 ID13     14     1    14 low      27     1
##  8 ID19     55     4   220 low      14     4
##  9 ID22     27     9   243 low      12     4
## 10 ID34     12     4    48 low      14     3
## 11 ID9      23     2    46 high     11     2
## 12 ID2      45     1    45 high      9     2
## 13 ID5      14     6    84 low       9     4
## 14 ID32     24     3    72 <NA>     NA    NA
## 15 ID45     15     2    30 <NA>     NA    NA
## 16 ID113    12     7    84 <NA>     NA    NA
## 17 ID110    24     5   120 <NA>     NA    NA
## 18 ID111    12     4    48 <NA>     NA    NA
## 19 ID113    14     1    14 <NA>     NA    NA
## 20 ID119    55     4   220 <NA>     NA    NA
## 21 ID122    27     9   243 <NA>     NA    NA
## 22 ID134    12     4    48 <NA>     NA    NA