R + Analítica Avanzada
R + Advanced Analytics

El Laboratorio de R: Analítica, Modelos y Automatización

The R Laboratory: Analytics, Models, and Automation

20 casos para conectar datos, automatizar análisis, visualizar patrones, crear modelos estadísticos y publicar resultados interactivos.

20 cases to connect data, automate analysis, visualize patterns, build statistical models, and publish interactive results.

La idea central

The core idea

R brilla cuando el análisis necesita rigor estadístico, visualización flexible y automatización reproducible. Estos casos muestran cómo pasar de una tabla aislada a un flujo analítico capaz de conectarse a bases de datos, APIs, mapas, modelos y aplicaciones web.

R shines when analysis requires statistical rigor, flexible visualization, and reproducible automation. These cases show how to move from an isolated table to an analytical workflow that connects to databases, APIs, maps, models, and web applications.

Cómo usar estos casos sin romper nada

How to use these cases without breaking anything

Bases de Datos Databases

1. Conexión directa a SQL Server

1. Direct SQL Server connection

Consulta bases de datos corporativas directamente desde R sin exportar a Excel.

Query corporate databases directly from R without exporting to Excel.

Ejemplo baseBase example
library(DBI)
con <- dbConnect(odbc::odbc(), 
  dsn = "Warehouse", uid = "user")
data <- dbGetQuery(con, "SELECT * FROM students")
APIs APIs

2. Consumo de servicios REST (JSON)

2. Consume REST services (JSON)

Conéctate a sistemas externos para extraer datos en tiempo real.

Connect to external systems to extract real-time data.

Ejemplo baseBase example
library(httr2)
resp <- request("https://api.edu.gov") %>% 
  req_perform() %>% 
  resp_body_json()
Extracción Web Web Scraping

3. Web Scraping de tablas públicas

3. Web Scraping public tables

Extrae información automáticamente de directorios o páginas web estructuradas.

Automatically extract information from directories or structured web pages.

Ejemplo baseBase example
library(rvest)
url <- "https://school-list.com"
table <- read_html(url) %>% 
  html_node("table") %>% 
  html_table()
Sincronización Syncing

4. Leer y escribir en Google Sheets

4. Read and write to Google Sheets

Automatiza la actualización de hojas de cálculo colaborativas de tu equipo.

Automate the update of your team's collaborative spreadsheets.

Ejemplo baseBase example
library(googlesheets4)
sheet_data <- read_sheet("URL_SHEET")
sheet_append(sheet_data, data = new_records)
Lógica Compleja Complex Logic

5. Clasificación con reglas múltiples

5. Classification with multiple rules

Crea nuevas métricas evaluando varias condiciones al mismo tiempo usando case_when.

Create new metrics by evaluating multiple conditions simultaneously using case_when.

Ejemplo baseBase example
df <- df %>% mutate(status = case_when(
  grade < 60 ~ "At Risk",
  grade < 80 ~ "Median",
  TRUE ~ "Excellent"
))
Transformación Reshaping

6. Aplanar tablas anchas (Pivot Longer)

6. Flatten wide tables (Pivot Longer)

Convierte formatos de reporte en bases de datos verticales para graficar fácilmente.

Convert report formats into vertical databases for easy plotting.

Ejemplo baseBase example
df %>% pivot_longer(
  cols = starts_with("month"),
  names_to = "period",
  values_to = "enrollment"
)
Cruces Joins

7. Cruces con nombres aproximados

7. Fuzzy matching for names

Une bases de datos aunque los nombres tengan errores ortográficos o variaciones.

Join databases even if names have spelling errors or variations.

Ejemplo baseBase example
library(fuzzyjoin)
stringdist_join(db1, db2, 
  by = "full_name", 
  max_dist = 2)
Nulos Nulls

8. Relleno inteligente de datos nulos

8. Smart coalesce for null data

Sustituye valores en blanco tomando automáticamente info de columnas de respaldo.

Replace blank values by automatically pulling info from backup columns.

Ejemplo baseBase example
df %>% mutate(email = coalesce(
  personal_email, 
  work_email, 
  "no_contact@edu.com"
))
Tendencias Trends

9. Cálculo de promedios móviles

9. Moving averages calculation

Suaviza las fluctuaciones diarias para entender la tendencia real de los datos.

Smooth daily fluctuations to understand the real trend of the data.

Ejemplo baseBase example
library(slider)
df %>% mutate(avg_7d = slide_dbl(
  sales, mean, .before = 7
))
Visualización Web Web Viz

10. Gráficos 100% interactivos

10. 100% Interactive graphs

Convierte gráficos estáticos en vistas web con zoom y tooltips usando plotly.

Turn static charts into web views with zoom and tooltips using plotly.

Ejemplo baseBase example
library(plotly)
p <- ggplot(df, aes(x, y)) + geom_line()
ggplotly(p)
Geografía Geography

11. Mapas geográficos interactivos

11. Interactive geospatial maps

Muestra la ubicación de escuelas o clientes en un mapa dinámico con Leaflet.

Show the location of schools or clients on a dynamic map with Leaflet.

Ejemplo baseBase example
library(leaflet)
leaflet(schools) %>% addTiles() %>%
  addMarkers(~lng, ~lat, popup=~name)
Comparación Comparison

12. Boxplots para comparar desempeños

12. Boxplots for performance comparison

Visualiza la dispersión y medianas de múltiples grupos al mismo tiempo.

Visualize the spread and medians of multiple groups simultaneously.

Ejemplo baseBase example
ggplot(df, aes(campus, score)) + 
  geom_boxplot(fill="#5ee0a0") + 
  coord_flip()
Densidad Density

13. Mapas de calor (Heatmaps)

13. Heatmaps for density

Identifica visualmente en qué días y horas se concentran más incidencias.

Visually identify which days and times have the highest concentration of incidents.

Ejemplo baseBase example
ggplot(df, aes(day, hour, fill=count)) + 
  geom_tile() + 
  scale_fill_viridis_c()
Machine Learning Machine Learning

14. Modelo de Regresión Logística

14. Logistic Regression model

Crea un modelo predictivo para estimar probabilidades de eventos binarios (Sí/No).

Create a predictive model to estimate probabilities of binary events (Yes/No).

Ejemplo baseBase example
model <- glm(dropout ~ ., 
  data = train, family = "binomial")
probs <- predict(model, test)
Estadística Statistics

15. Análisis de Varianza (ANOVA)

15. Analysis of Variance (ANOVA)

Comprueba si existen diferencias significativas entre tres o más metodologías.

Check if there are significant differences between three or more methodologies.

Ejemplo baseBase example
res <- aov(score ~ method, data = df)
summary(res)
TukeyHSD(res)
Reglas Visuales Visual Rules

16. Árboles de decisión de negocio

16. Business decision trees

Genera diagramas que explican reglas predictivas de forma visual y entendible.

Generate diagrams that explain predictive rules in a visual, understandable way.

Ejemplo baseBase example
library(rpart)
fit <- rpart(risk ~ age + income, data = df)
plot(fit); text(fit)
Proyección Forecasting

17. Pronósticos de series de tiempo

17. Time series forecasting

Proyecta la demanda o presupuestos a futuro basado en patrones históricos.

Project future demand or budgets based on historical patterns.

Ejemplo baseBase example
library(fable)
df %>% model(ETS(total)) %>%
  forecast(h = "1 year")
Desarrollo Web Web Dev

18. Construir aplicaciones web interactivas

18. Build interactive web applications

Usa Shiny para desplegar interfaces donde los usuarios filtren sus propios datos.

Use Shiny to deploy interfaces where users can filter their own data.

Ejemplo baseBase example
ui <- fluidPage(plotOutput("p"))
server <- function(input, output) {
  output$p <- renderPlot(ggplot(df))
}
Alertas Alerts

19. Automatizar envíos de correos

19. Automate email sending

Configura el envío de reportes procesados a directivos directamente desde tu script.

Configure sending processed reports to managers directly from your script.

Ejemplo baseBase example
library(blastula)
render_email("report.Rmd") %>%
  smtp_send(to = "boss@company.com")
Operaciones Operations

20. Ejecución sin interfaz gráfica (CLI)

20. Headless execution (CLI)

Prepara tus rutinas analíticas para ejecutarse en segundo plano con PowerShell.

Prepare your analytical routines to run in the background with PowerShell.

Ejemplo baseBase example
# En la terminal de Windows (CMD/PowerShell):
Rscript.exe process_data.R --args "2026"