Ejercicio 5

Author

Victoria Medina

library(tidyverse)
── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ dplyr     1.2.1     ✔ readr     2.2.0
✔ forcats   1.0.1     ✔ stringr   1.6.0
✔ ggplot2   4.0.3     ✔ tibble    3.3.1
✔ lubridate 1.9.5     ✔ tidyr     1.3.2
✔ purrr     1.2.2     
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag()    masks stats::lag()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(readxl)
library(readr)
library(DBI)
library(RSQLite)
empleados_csv <- read_delim(
  "Empleados.csv",
  delim = ",",
  col_types = cols(
    id_empleado = col_character(),
    nombre = col_character(),
    departamento = col_character(),
    salario_mensual = col_double(),
    fecha_ingreso = col_date()
  )
)
Warning: The following named parsers don't match the column names: id_empleado,
nombre, departamento, salario_mensual, fecha_ingreso
glimpse(empleados_csv)
Rows: 20
Columns: 1
$ `id_empleado,nombre,departamento,salario_mensual,fecha_ingreso` <chr> "001,A…
empleados_2022 <- read_excel(
  "Empleados.xlsx",
  sheet = "2022"
) %>%
  mutate(anio = 2022)
empleados_2023 <- read_excel(
  "Empleados.xlsx",
  sheet = "2023"
) %>%
  mutate(anio = 2023)
empleados_excel <- bind_rows(
  empleados_2022,
  empleados_2023
)

empleados_excel
# A tibble: 10 × 4
   id_empleado departamento salario_mensual  anio
         <dbl> <chr>                  <dbl> <dbl>
 1           1 Tecnología             58000  2022
 2           2 Auditoría              45000  2022
 3           4 RRHH                   41000  2022
 4          10 Riesgo                 59000  2022
 5          13 Finanzas               53000  2022
 6           3 Tecnología             63000  2023
 7           5 Auditoría              52000  2023
 8           8 Finanzas               48000  2023
 9          15 Riesgo                 67000  2023
10          19 Tecnología             72000  2023
promedio_departamento <- empleados_excel %>%
  group_by(departamento) %>%
  summarise(
    promedio_salario = mean(salario_mensual)
  )

promedio_departamento
# A tibble: 5 × 2
  departamento promedio_salario
  <chr>                   <dbl>
1 Auditoría              48500 
2 Finanzas               50500 
3 RRHH                   41000 
4 Riesgo                 63000 
5 Tecnología             64333.
empleados_db <- tibble(
  id_empleado = c(
    "001","002","003","004","005"
  ),
  anio = c(
    2022,2022,2023,2023,2023
  ),
  monto_total_anio = c(
    696000,
    540000,
    756000,
    492000,
    624000
  )
)

empleados_db
# A tibble: 5 × 3
  id_empleado  anio monto_total_anio
  <chr>       <dbl>            <dbl>
1 001          2022           696000
2 002          2022           540000
3 003          2023           756000
4 004          2023           492000
5 005          2023           624000
con <- dbConnect(SQLite(), "empleados.sqlite")

dbWriteTable(
  con,
  "empleados",
  empleados_db,
  overwrite = TRUE
)
empleados_2023_sql <- dbGetQuery(
  con,
  "SELECT * FROM empleados WHERE anio = 2023"
)

empleados_2023_sql
  id_empleado anio monto_total_anio
1         003 2023           756000
2         004 2023           492000
3         005 2023           624000
dbDisconnect(con)