Semana 05 - Pipeline de Ingesta de Datos

Author

Ramyeissi Montilla

Published

June 13, 2026

title: “Semana 05 - Pipeline de Ingesta de Datos” author: “Ramyeissi Montilla” date: today format: html: toc: true number-sections: true code-fold: true warning: false message: false —

1 Bloque de Preparación: Creación Automática de Archivos

Code
library(tidyverse)
library(readxl)
library(DBI)
library(RSQLite)

Se verifica que id_empleado se lea como texto y fecha_ingreso como fecha.

1.1 Parte 2 — Lectura del Excel

Code
empleados_2022 <- read_excel(
  "empleados.xlsx.xlsx",
  sheet = "2022"
)

empleados_2023 <- read_excel(
  "empleados.xlsx.xlsx",
  sheet = "2023"
)

empleados_2022 <- empleados_2022 %>%
  mutate(anio = 2022)

empleados_2023 <- empleados_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           3 Tecnología             63000  2022
 4           4 RRHH                   41000  2022
 5           5 Auditoría              52000  2022
 6           6 Tecnología             70000  2023
 7           7 Riesgo                 65000  2023
 8           8 Finanzas               48000  2023
 9           9 RRHH                   39000  2023
10          10 Riesgo                 59000  2023

1.2 Promedio de salario por departamento

Code
promedio_departamento <- empleados_excel %>%
  group_by(departamento) %>%
  summarise(
    salario_promedio = mean(salario_mensual)
  )

promedio_departamento
# A tibble: 5 × 2
  departamento salario_promedio
  <chr>                   <dbl>
1 Auditoría              48500 
2 Finanzas               48000 
3 RRHH                   40000 
4 Riesgo                 62000 
5 Tecnología             63667.

2 Parte 3 — Conexión a SQLite

Code
library(DBI)
library(RSQLite)

con <- dbConnect(SQLite(), "empleados.sqlite")

2.1 Crear tabla

Code
empleados_bd <- tibble(
  id_empleado = c("001","002","003","004","005"),
  anio = c(2023,2023,2022,2023,2022),
  monto_total_anio = c(696000,540000,756000,492000,624000)
)

dbWriteTable(
  con,
  "empleados",
  empleados_bd,
  overwrite = TRUE
)

2.2 Consulta para el año 2023

Code
consulta_2023 <- dbGetQuery(
  con,
  "SELECT * FROM empleados WHERE anio = 2023"
)

consulta_2023
  id_empleado anio monto_total_anio
1         001 2023           696000
2         002 2023           540000
3         004 2023           492000

2.3 Cerrar conexión

Code
dbDisconnect(con)

3 Conclusión

3.1 Se integraron datos provenientes de un archivo CSV, un archivo Excel con múltiples hojas y una base de datos SQLite. Este proceso demuestra cómo R puede utilizarse para construir pipelines de ingesta y consolidación de datos de forma reproducible.

3.2 Quarto

Quarto enables you to weave together content and executable code into a finished document. To learn more about Quarto see https://quarto.org.

3.3 Running Code

When you click the Render button a document will be generated that includes both content and the output of embedded code. You can embed code like this:

Code
1 + 1
[1] 2

You can add options to executable code like this

[1] 4

The echo: false option disables the printing of code (only output is displayed).