MÓDULO 7: PROGRAMACIÓN EN R
MÓDULO 7:
PROGRAMACIÓN EN R
1
01
INTRODUCCIÓN AL BIG DATA Y EL BUSINESS INTELLIGENCE
MÓDULO 7: PROGRAMACIÓN EN R
Tabla de Contenido del Módulo
Portada y Tabla de Contenidos .................................................................................. 1
Objetivos ............................................................................................................................ 3
Introducción a la acción formativa ........................................................................... 4
Tema 1. Fundamentos de R .......................................................................................... 5
1.1 Instalación y configuración del entorno .......................................................... 5
1.2 Tipos de datos y estructuras básicas ................................................................. 8
Tema 2. Manipulación de datos ................................................................................ 13
2.1 Limpieza y preparación de datos...................................................................... 13
2.2 Librerías esenciales: dplyr y tidyr ..................................................................... 14
Tema 3. Visualización de datos ................................................................................. 18
3.1 Gráficos básicos y avanzados con ggplot2 .................................................... 18
3.1.3 Comparación de Gráficos ................................................................................. 21
3.2 Creación de dashboards con Shiny .................................................................. 21
Tema 4. Análisis estadístico en R ............................................................................. 25
4.1 Modelos lineales y no lineales .......................................................................... 25
4.2 Métodos de clustering y segmentación ......................................................... 27
Tema 5. Proyectos prácticos con R........................................................................... 30
Resumen ........................................................................................................................... 33
Glosario ............................................................................................................................. 35
2
01
INTRODUCCIÓN AL BIG DATA Y EL BUSINESS INTELLIGENCE
MÓDULO 7: PROGRAMACIÓN EN R
Objetivos
A continuación, se presentan los principales objetivos que se alcanzarán al
finalizar este módulo:
• Conocer los fundamentos y características principales del lenguaje de
programación R.
• Aprender a utilizar R para manipular, procesar y analizar datos de forma
eficiente.
• Desarrollar habilidades en la creación de visualizaciones gráficas que
faciliten la interpretación de resultados.
• Aplicar técnicas de análisis de datos en contextos prácticos y relevantes
para la toma de decisiones.
3
01
INTRODUCCIÓN AL BIG DATA Y EL BUSINESS INTELLIGENCE
MÓDULO 7: PROGRAMACIÓN EN R
Introducción a la acción formativa
La programación en R ha emergido como una herramienta esencial en el
análisis de datos y la ciencia de datos debido a su capacidad para manejar
grandes volúmenes de información, realizar análisis estadísticos avanzados
y generar visualizaciones impactantes.
Este lenguaje, diseñado específicamente para el análisis de datos, ofrece
un entorno robusto y flexible que facilita la resolución de problemas
complejos en diversos sectores como el empresarial, académico y
tecnológico.
Aprender R no solo permite manejar datos de forma más eficiente, sino que
también fomenta la toma de decisiones basadas en evidencia al convertir
información cruda en insights valiosos.
Además, su creciente comunidad de usuarios y la amplia disponibilidad de
recursos lo convierten en una opción accesible y continuamente
actualizada para enfrentar los retos del análisis de datos en el mundo
moderno.
En este módulo, se abordarán los principios fundamentales de R,
proporcionando a los participantes las herramientas necesarias para
estructurar, analizar y visualizar datos.
A través de una combinación de teoría y práctica, los estudiantes tendrán
la oportunidad de aplicar conocimientos directamente en escenarios
reales. La programación en R no es solo una habilidad técnica, sino un
recurso estratégico que habilita la optimización de procesos y la
generación de valor en entornos cada vez más impulsados por datos.
4
01
INTRODUCCIÓN AL BIG DATA Y EL BUSINESS INTELLIGENCE
MÓDULO 7: PROGRAMACIÓN EN R
Tema 1. Fundamentos de R
El lenguaje de programación R es una herramienta ampliamente utilizada
en el ámbito del análisis de datos debido a su enfoque específico en
cálculos estadísticos y su capacidad para manejar grandes conjuntos de
datos.
Este lenguaje, desarrollado inicialmente para fines académicos, ha
trascendido su origen para convertirse en un recurso valioso en sectores
como el empresarial, científico y tecnológico.
El aprendizaje de R permite a los usuarios procesar información compleja,
generar visualizaciones avanzadas y aplicar modelos estadísticos con
facilidad.
Gracias a su entorno interactivo y su extensa biblioteca de paquetes, R
ofrece una solución versátil para quienes buscan transformar datos en
conocimiento accionable. Este tema busca sentar las bases para dominar
sus conceptos clave y explorar su potencial en escenarios prácticos.
1.1 Instalación y configuración del entorno
La instalación y configuración del entorno para trabajar con R es el primer
paso hacia un análisis de datos eficaz y profesional. Este proceso, aunque
sencillo, sienta las bases para una experiencia óptima en el uso de este
lenguaje de programación. A continuación, se detallan los pasos esenciales
para lograr un entorno funcional y eficiente.
5
01
INTRODUCCIÓN AL BIG DATA Y EL BUSINESS INTELLIGENCE
MÓDULO 7: PROGRAMACIÓN EN R
Imagen 1: Ejemplo de programación en R
1.1.1 Descarga e instalación de R
Para iniciar, es necesario descargar R desde su repositorio oficial, CRAN
(Comprehensive R Archive Network), asegurándose de elegir la versión
adecuada para el sistema operativo del usuario (Windows, macOS o Linux).
Una vez descargado el instalador, el proceso se completa siguiendo las
indicaciones del asistente de instalación, que permite seleccionar el
directorio de instalación y configurar opciones básicas.
1.1.2 Instalación de RStudio
RStudio es un entorno de desarrollo integrado (IDE) que mejora
significativamente la experiencia de trabajar con R, ofreciendo una interfaz
estructurada con paneles dedicados a la consola, el editor de scripts y las
visualizaciones gráficas. Su instalación se realiza descargando el instalador
6
01
INTRODUCCIÓN AL BIG DATA Y EL BUSINESS INTELLIGENCE
MÓDULO 7: PROGRAMACIÓN EN R
desde su página oficial, asegurándose de que sea compatible con la versión
de R instalada previamente.
1.1.3 Configuración del entorno
Tras la instalación, es importante realizar configuraciones iniciales para
optimizar el trabajo.
Una de las configuraciones más comunes es definir el directorio de
trabajo predeterminado utilizando el
comando setwd("ruta_del_directorio"). Este directorio será el lugar donde
se guarden y recuperen los archivos del proyecto.
Además, se deben instalar los paquetes necesarios para el proyecto
mediante el comando [Link]("nombre_paquete"). Algunos
paquetes básicos recomendados incluyen:
• ggplot2 para la creación de gráficos avanzados.
• dplyr para manipulación eficiente de datos.
• tidyr para organizar y limpiar conjuntos de datos.
1.1.4 Resolución de problemas comunes
En ocasiones, pueden surgir errores durante la instalación o el uso de R,
como la falta de compatibilidad entre versiones o la ausencia de paquetes
requeridos. Para resolver estos problemas, es recomendable:
• Actualizar a la última versión de R y RStudio.
• Utilizar el argumento dependencies=TRUE en el comando de
instalación para asegurarse de que todos los paquetes relacionados se
instalen correctamente.
• Consultar la documentación oficial o foros especializados para
encontrar soluciones específicas.
7
01
INTRODUCCIÓN AL BIG DATA Y EL BUSINESS INTELLIGENCE
MÓDULO 7: PROGRAMACIÓN EN R
R y RStudio están diseñados para ser altamente personalizables. Por ejemplo,
es posible cambiar el tema de la interfaz en RStudio para mejorar la visibilidad
y comodidad durante largas sesiones de trabajo.
1.2 Tipos de datos y estructuras básicas
Los tipos de datos y estructuras básicas en R son componentes
determinantes para gestionar y analizar información de manera eficaz.
Comprenderlos permite a los usuarios aprovechar todo el potencial del
lenguaje, desde realizar operaciones simples hasta ejecutar análisis
complejos.
1.2.1 Tipos de datos básicos
En R, los datos se clasifican en diferentes tipos según su naturaleza.
Algunos de los más destacados son:
• Numéricos: Utilizados para representar valores continuos.
Ejemplo: 3.14.
• Enteros: Un subconjunto de los numéricos, pero sin decimales, creados
con [Link](5).
• Cadenas de caracteres: Representan texto y se delimitan con comillas,
como "Ejemplo".
• Lógicos: Representan valores de verdad (TRUE o FALSE).
• Factores: Utilizados para datos categóricos, como niveles de satisfacción
(“bajo”, “medio”, “alto”), creados con la función factor().
8
01
INTRODUCCIÓN AL BIG DATA Y EL BUSINESS INTELLIGENCE
MÓDULO 7: PROGRAMACIÓN EN R
1.2.2 Estructuras básicas de datos
Las estructuras básicas en R permiten almacenar y manipular datos de
diversas formas. Estas incluyen:
• Vectores
Un vector es la estructura más simple y contiene elementos del mismo
tipo. Por ejemplo, c(1, 2, 3) crea un vector numérico. Los vectores son
ideales para operaciones matemáticas y análisis básicos.
• Matrices
Una matriz extiende la idea del vector a dos dimensiones, organizando
los datos en filas y columnas. Se crean con matrix(datos, nrow=f,
ncol=c) y son útiles para cálculos algebraicos.
• Listas
Las listas permiten almacenar diferentes tipos de datos en una misma
estructura, como list (c(1, 2), "Texto", TRUE). Estas son útiles cuando se
necesitan agrupar objetos heterogéneos.
• Data frames
Los data frames son estructuras tabulares que permiten combinar
diferentes tipos de datos en columnas. Por ejemplo:
[Link](
Nombre = c("Ana", "Luis"),
Edad = c(25, 30),
Activo = c(TRUE, FALSE)
• Tibbles
Los tibbles son una versión mejorada de los data frames, más modernos
y fáciles de manejar en análisis avanzados.
1.2.3 Ejemplos prácticos
Caso en el sector financiero
9
01
INTRODUCCIÓN AL BIG DATA Y EL BUSINESS INTELLIGENCE
MÓDULO 7: PROGRAMACIÓN EN R
Un analista financiero podría usar un data frame para almacenar datos de
acciones, como el precio diario y el volumen negociado, y utilizarlo para
calcular indicadores clave.
Caso en investigación científica
Un biólogo puede emplear matrices para organizar datos experimentales
sobre el crecimiento de plantas en distintas condiciones, permitiendo un
análisis estadístico eficiente.
Caso en marketing
Un tibble puede gestionar datos de una campaña publicitaria, como clics y
conversiones, proporcionando funciones avanzadas para filtrar y analizar
resultados por región o grupo demográfico.
10
01
INTRODUCCIÓN AL BIG DATA Y EL BUSINESS INTELLIGENCE
MÓDULO 7: PROGRAMACIÓN EN R
1.2.4 Comparación de estructuras
Una forma efectiva de entender las diferencias entre estas estructuras es
mediante una tabla comparativa:
Tipos de
datos Ejemplo de
Estructura Dimensiones permitidos Uso principal creación
Vector 1 Homogéneos Operaciones c(1, 2, 3)
simples
Matriz 2 Homogéneos Cálculos matrix(1:6,
matemáticos nrow=2)
Lista 1 Heterogéneos Agrupación de list(1, "texto",
datos diversos TRUE)
Data 2 Heterogéneos Almacenamiento [Link](x
frame por columna tabular =1:3, y=c("A",
"B"))
Tibble 2 Heterogéneos Manipulación tibble(x=1:3,
por columna eficiente de y=c("A", "B"))
datos
Tabla 1: Comparación de estructuras básicas de datos en R
11
01
INTRODUCCIÓN AL BIG DATA Y EL BUSINESS INTELLIGENCE
MÓDULO 7: PROGRAMACIÓN EN R
Las matrices en R permiten realizar multiplicaciones matriciales utilizando el
operador %*%, una herramienta imprescindible en álgebra lineal y modelos
predictivos.
1.2.5 Buenas prácticas al trabajar con datos en R
Para garantizar un análisis de calidad, se recomienda:
• Utilizar nombres claros y descriptivos en las columnas de los data
frames y tibbles.
• Verificar la estructura de los datos con funciones como str() y head().
• Documentar cada paso del análisis, facilitando la reproducibilidad y
comprensión.
12
01
INTRODUCCIÓN AL BIG DATA Y EL BUSINESS INTELLIGENCE
MÓDULO 7: PROGRAMACIÓN EN R
Tema 2. Manipulación de datos
La manipulación de datos constituye una habilidad esencial en el análisis
y la gestión de información, ya que permite organizar, transformar y
optimizar datos para su interpretación y uso en distintos contextos.
Este proceso implica la preparación de la información para hacerla más
accesible y significativa, abordando aspectos como la limpieza de errores,
la estructuración de formatos y la integración de distintas fuentes.
La relevancia de este tema radica en su capacidad para mejorar la calidad
y la precisión de los resultados obtenidos, facilitando la toma de decisiones
informadas. Además, fomenta la eficiencia al reducir el tiempo necesario
para analizar grandes volúmenes de información.
Al dominar técnicas de manipulación de datos, los usuarios pueden extraer
valor de conjuntos complejos y diversos, maximizando el impacto de sus
análisis en proyectos personales, académicos o profesionales.
2.1 Limpieza y preparación de datos
La limpieza y preparación de datos es un paso decisivo en cualquier
proceso de análisis. Antes de realizar cálculos avanzados o generar
visualizaciones, es necesario garantizar que los datos sean precisos,
coherentes y relevantes para el objetivo del análisis.
Este proceso incluye la identificación y corrección de valores erróneos, la
eliminación de duplicados, el tratamiento de datos faltantes y la
transformación de las variables en formatos adecuados para el análisis.
2.1.1 Identificación de problemas en los datos
Los problemas comunes en los datos pueden incluir valores ausentes, datos
redundantes, errores tipográficos y valores atípicos. Detectar estos
problemas requiere una combinación de inspección visual y el uso de
comandos en R, como summary() para obtener estadísticas descriptivas
13
01
INTRODUCCIÓN AL BIG DATA Y EL BUSINESS INTELLIGENCE
MÓDULO 7: PROGRAMACIÓN EN R
y head() para revisar las primeras filas del conjunto de datos. Estas
herramientas ayudan a identificar valores extremos o inconsistencias.
2.1.2 Tratamiento de valores ausentes
Los valores ausentes representan un desafío importante, ya que pueden
sesgar los resultados del análisis. En R, se emplea la función [Link]() para
identificar valores faltantes y opciones como [Link]() para eliminarlos.
Sin embargo, eliminar datos no siempre es ideal; en muchos casos, es más
adecuado imputar valores mediante métodos estadísticos como la media,
la mediana o técnicas más avanzadas como la regresión.
Ejemplo práctico: En un estudio de satisfacción del cliente en una tienda
de ropa, algunas respuestas sobre el nivel de satisfacción están ausentes.
Utilizando el comando mean() para calcular la media, estas respuestas
pueden imputarse con un valor representativo que mantenga la integridad
del análisis.
2.1.3 Normalización y transformación de variables
En ocasiones, los datos necesitan ser transformados para adaptarse a los
requerimientos del análisis. Por ejemplo, las escalas de variables numéricas
pueden normalizarse con la función scale(), lo que permite compararlas en
igualdad de condiciones. Asimismo, la creación de nuevas variables
derivadas, como la diferencia entre dos columnas, puede mejorar la
interpretabilidad del análisis.
2.2 Librerías esenciales: dplyr y tidyr
Las librerías dplyr y tidyr son herramientas indispensables para la
manipulación y organización de datos en R. Forman parte del conjunto
conocido como tidyverse, que ofrece un planteamiento moderno y eficiente
para trabajar con datos tabulares. Estas librerías simplifican tareas
complejas como la transformación, filtrado y organización de datos.
14
01
INTRODUCCIÓN AL BIG DATA Y EL BUSINESS INTELLIGENCE
MÓDULO 7: PROGRAMACIÓN EN R
2.2.1 dplyr: Manipulación de datos
La librería dplyr está diseñada para realizar operaciones comunes sobre
conjuntos de datos de forma clara y eficiente. Entre sus funciones más
destacadas se encuentran:
• filter(): Filtra filas basándose en condiciones específicas.
• select(): Selecciona columnas relevantes del conjunto de datos.
• mutate(): Crea nuevas columnas basadas en cálculos realizados
sobre las existentes.
• group_by() y summarize(): Agrupan datos y calculan estadísticas
resumen, como medias o totales.
Ejemplo práctico:
Una empresa de tecnología desea analizar las ventas mensuales por región.
Utilizando group_by() y summarize(), pueden calcular la suma total de
ventas para cada región y visualizar rápidamente las tendencias.
ventas <- [Link](
Region = c("Norte", "Sur", "Este", "Norte", "Sur"),
Mes = c("Enero", "Enero", "Enero", "Febrero", "Febrero"),
Ventas = c(200, 150, 300, 250, 200)
ventas_resumen <- ventas %>%
group_by(Region, Mes) %>%
summarize(Total_Ventas = sum(Ventas))
15
01
INTRODUCCIÓN AL BIG DATA Y EL BUSINESS INTELLIGENCE
MÓDULO 7: PROGRAMACIÓN EN R
2.2.2 tidyr: Organización de datos
tidyr complementa a dplyr proporcionando herramientas para organizar
los datos en un formato limpio. Sus funciones permiten transformar datos
desorganizados en estructuras más manejables:
• gather(): Convierte columnas en filas para facilitar el análisis.
• spread(): Realiza la operación inversa, transformando filas en
columnas.
• separate() y unite(): Dividen o combinan columnas en función de las
necesidades del análisis.
Ejemplo práctico:
En un informe climático, los datos de temperatura están organizados por
estaciones en columnas separadas. Usando gather(), es posible reorganizar
los datos para que las estaciones se conviertan en una variable categórica:
clima <- [Link](
Año = c(2021, 2022),
Primavera = c(20, 21),
Verano = c(30, 31)
clima_limpio <- clima %>%
gather(Estación, Temperatura, Primavera:Verano)
16
01
INTRODUCCIÓN AL BIG DATA Y EL BUSINESS INTELLIGENCE
MÓDULO 7: PROGRAMACIÓN EN R
2.2.3 Tabla comparativa
En la siguiente tabla se realiza una comparativa entre dplyr y tidyr.
Característica dplyr tidyr
Propósito Manipulación de datos Organización de datos
Operaciones Filtrado, selección, Transformación de filas y
comunes agrupación columnas
Funciones clave filter(), mutate(), gather(), spread(), unite()
summarize()
Integración Compatible con otras Complementa dplyr
librerías
Tabla 2: Comparación entre dplyr y tidyr
Ejemplo conjunto:
Ambas librerías pueden utilizarse de forma integrada para resolver
problemas complejos. Por ejemplo, en un análisis de productividad
empresarial, dplyr puede agrupar datos por equipos y calcular métricas
clave, mientras que tidyr reorganiza los resultados para presentarlos en un
informe visualmente claro.
17
01
INTRODUCCIÓN AL BIG DATA Y EL BUSINESS INTELLIGENCE
MÓDULO 7: PROGRAMACIÓN EN R
Tema 3. Visualización de datos
La visualización de datos es una herramienta esencial en el análisis de
información, ya que facilita la interpretación de grandes volúmenes de
datos mediante representaciones gráficas claras y comprensibles. Este
enfoque transforma números y estadísticas en gráficos, mapas y diagramas
que permiten identificar patrones, tendencias y relaciones complejas de
manera intuitiva.
Este tema adquiere relevancia al mejorar la comunicación de resultados y
simplificar la toma de decisiones basadas en datos. Al presentar
información de forma visual, se potencia la capacidad de comprensión
tanto para expertos como para públicos no especializados, fomentando un
análisis más eficiente y estratégico en contextos académicos, empresariales
y tecnológicos.
3.1 Gráficos básicos y avanzados con ggplot2
El paquete ggplot2 es una herramienta indispensable en R para la creación
de gráficos, ya que ofrece una gramática visual potente y flexible que
permite desarrollar visualizaciones claras y personalizables.
Su utilidad abarca desde gráficos básicos hasta representaciones
avanzadas que ayudan a explorar, interpretar y comunicar datos de manera
eficaz.
18
01
INTRODUCCIÓN AL BIG DATA Y EL BUSINESS INTELLIGENCE
MÓDULO 7: PROGRAMACIÓN EN R
3.1.1 Estructura de un gráfico con ggplot2
La construcción de gráficos con ggplot2 se basa en una gramática que
organiza los elementos visuales en capas. Estas capas incluyen datos,
geometrías y ajustes estéticos que juntos forman el gráfico final.
Por ejemplo, el comando ggplot(data, aes(x, y)) + geom_point() genera un
gráfico de dispersión sencillo. Aquí, la función aes() define las variables a
graficar y geom_point() añade los puntos.
Ejemplo práctico:
Una empresa de logística analiza la relación entre el número de entregas
realizadas y los kilómetros recorridos. Con ggplot2, se puede crear un
gráfico de dispersión para identificar tendencias:
logistica <- [Link](
Entregas = c(50, 60, 70, 80, 90),
Kilometros = c(100, 120, 150, 180, 210)
ggplot(logistica, aes(x = Kilometros, y = Entregas)) +
geom_point(color = "blue") +
labs(title = "Relación entre entregas y kilómetros",
x = "Kilómetros recorridos",
y = "Número de entregas")
19
01
INTRODUCCIÓN AL BIG DATA Y EL BUSINESS INTELLIGENCE
MÓDULO 7: PROGRAMACIÓN EN R
3.1.2 Gráficos avanzados
Para análisis más sofisticados, ggplot2 permite combinar múltiples capas y
personalizaciones. Entre las opciones avanzadas se incluyen gráficos de
líneas, histogramas, boxplots y gráficos de facetas.
Caso práctico:
En una investigación climática, los datos de temperatura y precipitación
anual se visualizan en un gráfico de líneas superpuestas.
clima <- [Link](
Año = 2000:2020,
Temperatura = runif(21, 15, 25),
Precipitación = runif(21, 100, 200)
ggplot(clima) +
geom_line(aes(x = Año, y = Temperatura, color = "Temperatura"), size = 1)
+
geom_line(aes(x = Año, y = Precipitación, color = "Precipitación"), size = 1)
+
labs(title = "Evolución de temperatura y precipitación",
x = "Año",
y = "Valores") +
scale_color_manual(values = c("Temperatura" = "red", "Precipitación" =
"blue"))
20
01
INTRODUCCIÓN AL BIG DATA Y EL BUSINESS INTELLIGENCE
MÓDULO 7: PROGRAMACIÓN EN R
3.1.3 Comparación de Gráficos
En la siguiente tabla se realiza una comparación de gráficos básicos y
avanzados con ggplot2.
Tipo de Función Ejemplo de
gráfico Uso principal geométrica aplicación
Dispersión Relación entre dos geom_point() Análisis de entregas
variables y kilómetros
Línea Tendencias en geom_line() Evolución de
series temporales temperatura
Histograma Distribución de geom_histogram() Frecuencia de
una variable ventas por rango
Boxplot Comparación de geom_boxplot() Variación de salarios
distribuciones por departamento
Tabla 3: Comparación de gráficos básicos y avanzados con ggplot2
3.2 Creación de dashboards con Shiny
Shiny es un paquete en R diseñado para crear aplicaciones web
interactivas que integren visualizaciones y análisis de datos. Estas
aplicaciones permiten a los usuarios explorar información en tiempo real,
facilitando la toma de decisiones basadas en datos.
3.2.1 Estructura básica de una aplicación Shiny
Una aplicación en Shiny consta de dos componentes principales: ui
(interfaz de usuario) y server (lógica del servidor). La interfaz define el
diseño y los elementos interactivos, mientras que el servidor maneja los
cálculos y la lógica detrás de cada interacción.
21
01
INTRODUCCIÓN AL BIG DATA Y EL BUSINESS INTELLIGENCE
MÓDULO 7: PROGRAMACIÓN EN R
Ejemplo básico:
Una aplicación que muestra un histograma interactivo con datos de
ingresos de una tienda:
library(shiny)
ui <- fluidPage(
titlePanel("Histograma de ingresos"),
sidebarLayout(
sidebarPanel(
sliderInput("bins", "Número de intervalos:", min = 1, max = 50, value =
10)
),
mainPanel(
plotOutput("distPlot")
server <- function(input, output) {
output$distPlot <- renderPlot({
hist(rnorm(500, mean = 5000, sd = 1000), breaks = input$bins, col =
"skyblue", border = "white")
22
01
INTRODUCCIÓN AL BIG DATA Y EL BUSINESS INTELLIGENCE
MÓDULO 7: PROGRAMACIÓN EN R
})
shinyApp(ui = ui, server = server)
3.2.2 Dashboards avanzados con múltiples paneles
Shiny permite crear dashboards con pestañas y gráficos múltiples que
ofrezcan diferentes perspectivas del mismo conjunto de datos.
Caso práctico:
Un equipo de marketing puede diseñar un dashboard para monitorear
campañas publicitarias, con paneles dedicados a métricas como clics,
conversiones y ROI.
library(shiny)
ui <- fluidPage(
navbarPage("Dashboard de Marketing",
tabPanel("Clics",
plotOutput("clickPlot")),
tabPanel("ROI",
plotOutput("roiPlot"))
23
01
INTRODUCCIÓN AL BIG DATA Y EL BUSINESS INTELLIGENCE
MÓDULO 7: PROGRAMACIÓN EN R
server <- function(input, output) {
output$clickPlot <- renderPlot({
barplot(c(100, 200, 150), [Link] = c("Campaña A", "Campaña B",
"Campaña C"), col = "lightgreen")
})
output$roiPlot <- renderPlot({
plot(c(1, 2, 3), c(3, 2, 5), type = "b", col = "darkred", lwd = 2, xlab =
"Campaña", ylab = "ROI")
})
shinyApp(ui = ui, server = server)
24
01
INTRODUCCIÓN AL BIG DATA Y EL BUSINESS INTELLIGENCE
MÓDULO 7: PROGRAMACIÓN EN R
Tema 4. Análisis estadístico en R
El análisis estadístico en R es una práctica que combina el poder del
lenguaje R con técnicas estadísticas para explorar y comprender datos de
manera efectiva. Este enfoque permite realizar cálculos precisos, identificar
patrones y validar hipótesis mediante métodos avanzados que van desde
estadísticas descriptivas hasta modelos predictivos.
El uso de R en este contexto es relevante porque facilita la automatización
de procesos complejos y la generación de resultados reproducibles,
adaptándose a las necesidades de diversos sectores. Al dominar estas
herramientas, los usuarios pueden abordar problemas reales, tomar
decisiones informadas y comunicar resultados con claridad, maximizando
el impacto de sus análisis en proyectos profesionales y académicos.
4.1 Modelos lineales y no lineales
Los modelos lineales y no lineales son herramientas esenciales en el
análisis estadístico y en la ciencia de datos. Estos modelos permiten
describir y predecir relaciones entre variables, proporcionando una base
sólida para la toma de decisiones en diversas disciplinas, desde la
economía hasta la biología.
4.1.1 Modelos lineales
Un modelo lineal se basa en la relación lineal entre una variable
dependiente y una o más variables independientes. La forma general es:
donde es la variable dependiente, son las variables
independientes, representa los coeficientes y el término de error.
Ejemplo práctico:
En una empresa de retail, el departamento de análisis desea predecir las
ventas semanales en función del presupuesto de marketing y del número
25
01
INTRODUCCIÓN AL BIG DATA Y EL BUSINESS INTELLIGENCE
MÓDULO 7: PROGRAMACIÓN EN R
de promociones activas. Utilizando la función lm() en R, se puede construir
un modelo lineal:
ventas <- [Link](
Semanas = 1:10,
Marketing = c(500, 600, 700, 800, 550, 650, 750, 850, 600, 700),
Promociones = c(2, 3, 3, 4, 2, 3, 3, 4, 3, 4),
Ventas = c(1000, 1200, 1400, 1600, 1100, 1300, 1500, 1700, 1250, 1450)
modelo <- lm(Ventas ~ Marketing + Promociones, data = ventas)
summary(modelo)
4.1.2 Modelos no lineales
Los modelos no lineales son ideales para capturar relaciones más
complejas que no pueden representarse con una línea recta. Estos modelos
incluyen formas polinómicas, exponenciales y logarítmicas, entre otras.
Caso práctico:
Un laboratorio farmacéutico analiza el efecto de la dosis de un
medicamento en la reducción de síntomas. La relación no es lineal, ya que
mayores dosis generan una disminución de efectos adversos, pero con
rendimientos decrecientes. Utilizando un modelo exponencial, se puede
analizar esta relación:
dosis <- [Link](
Dosis = c(10, 20, 30, 40, 50),
Reducción = c(15, 25, 35, 38, 39)
26
01
INTRODUCCIÓN AL BIG DATA Y EL BUSINESS INTELLIGENCE
MÓDULO 7: PROGRAMACIÓN EN R
modelo_nl <- nls(Reducción ~ a * (1 - exp(-b * Dosis)), data = dosis, start =
list(a = 40, b = 0.1))
summary(modelo_nl)
4.2 Métodos de clustering y segmentación
El clustering y la segmentación son técnicas estadísticas utilizadas para
agrupar datos en subconjuntos homogéneos. Estas técnicas son decisivas
en la ciencia de datos, ya que permiten identificar patrones y clasificar
elementos basándose en características compartidas.
4.2.1 Métodos de clustering
El clustering, o agrupamiento, se utiliza para dividir datos en grupos no
etiquetados. Entre los algoritmos más populares destacan k-
means, hierarchical clustering y DBSCAN.
Ejemplo práctico con k-means:
Una agencia de viajes desea segmentar a sus clientes según el número de
viajes realizados y el gasto promedio por reserva. Con k-means en R, es
posible identificar grupos de clientes con patrones similares:
clientes <- [Link](
Viajes = c(2, 5, 8, 10, 3, 7, 4, 6),
Gasto = c(500, 1500, 3000, 4000, 700, 2500, 900, 1600)
[Link](123)
27
01
INTRODUCCIÓN AL BIG DATA Y EL BUSINESS INTELLIGENCE
MÓDULO 7: PROGRAMACIÓN EN R
clusters <- kmeans(clientes, centers = 3)
clientes$Cluster <- clusters$cluster
plot(clientes$Viajes, clientes$Gasto, col = clientes$Cluster, pch = 16, xlab
= "Viajes", ylab = "Gasto")
4.2.2 Métodos de segmentación
A diferencia del clustering, la segmentación puede basarse en variables
predeterminadas para dividir los datos. Este método es habitual en
marketing y análisis demográfico.
Ejemplo práctico:
Una editorial desea segmentar suscripciones según el género literario
preferido y la frecuencia de compra. Utilizando cut() en R, se pueden
categorizar las variables y realizar análisis más específicos:
suscriptores <- [Link](
Género = c("Ficción", "Ficción", "No ficción", "Poesía", "Ficción"),
Compras = c(5, 10, 2, 8, 6)
suscriptores$Frecuencia <- cut(suscriptores$Compras, breaks = c(0, 5, 10),
labels = c("Baja", "Alta"))
4.2.3 Tabla comparativa
En la siguiente tabla se realiza una comparación entre clustering y
segmentación.
28
01
INTRODUCCIÓN AL BIG DATA Y EL BUSINESS INTELLIGENCE
MÓDULO 7: PROGRAMACIÓN EN R
Característica Clustering Segmentación
Propósito Agrupar datos sin Dividir datos según reglas
etiquetas previas definidas
Ejemplos de uso Análisis exploratorio Campañas de marketing
Algoritmos k-means, DBSCAN Reglas de decisión
comunes
Requiere No Sí
supervisión
Tabla 4: Comparación entre clustering y segmentación
4.2.4 Integración de clustering y segmentación
En muchas aplicaciones, el clustering y la segmentación se combinan para
obtener análisis más detallados. Por ejemplo, un banco puede usar
clustering para identificar grupos de clientes basándose en su
comportamiento financiero y segmentar cada grupo según su perfil
demográfico.
29
01
INTRODUCCIÓN AL BIG DATA Y EL BUSINESS INTELLIGENCE
MÓDULO 7: PROGRAMACIÓN EN R
Tema 5. Proyectos prácticos con R.
Los proyectos prácticos con R permiten integrar los conceptos teóricos en
aplicaciones concretas, resolviendo problemas reales mediante análisis y
visualización de datos. Este planteamiento fomenta habilidades esenciales
como la programación, la limpieza de datos y la presentación efectiva de
resultados, generando valor en diversos sectores como la salud, la
economía y el marketing.
1. Desarrollo de un sistema de recomendación
Los sistemas de recomendación son herramientas habituales en
plataformas de e-commerce y entretenimiento. Con R, es posible construir
modelos que personalicen sugerencias basándose en las preferencias y
comportamientos previos de los usuarios.
En un proyecto de ejemplo, una tienda online puede analizar el historial de
compras para identificar patrones y sugerir productos relacionados.
Utilizando un conjunto de datos de ejemplo y el paquete recommenderlab,
se pueden aplicar técnicas como filtrado colaborativo:
library(recommenderlab)
# Datos de ejemplo
ratings <- matrix(
c(5, 4, NA, 2, NA, 4, NA, 5, 3, NA, 2, 4),
nrow = 4, ncol = 3,
dimnames = list(c("Usuario1", "Usuario2", "Usuario3", "Usuario4"),
c("Producto1", "Producto2", "Producto3"))
30
01
INTRODUCCIÓN AL BIG DATA Y EL BUSINESS INTELLIGENCE
MÓDULO 7: PROGRAMACIÓN EN R
# Crear matriz y modelo de recomendación
rating_matrix <- as(ratings, "realRatingMatrix")
modelo <- Recommender(rating_matrix, method = "UBCF")
predicciones <- predict(modelo, rating_matrix, type = "ratings")
2. Monitorización de métricas empresariales
La creación de dashboards interactivos es otra aplicación práctica de R, útil
para supervisar indicadores clave de rendimiento (KPIs) en tiempo real.
Utilizando paquetes como Shiny, se pueden desarrollar herramientas que
presenten gráficos dinámicos y permitan filtrar datos por regiones,
productos o periodos temporales.
En una cadena de restaurantes, por ejemplo, se pueden analizar las ventas
diarias y las preferencias de los clientes en función de la ubicación. Este
análisis facilita la toma de decisiones informadas para ajustar estrategias
de marketing o distribución.
Ejemplo de dashboard básico:
library(shiny)
ui <- fluidPage(
titlePanel("Monitorización de ventas"),
sidebarLayout(
sidebarPanel(
dateRangeInput("fechas", "Seleccione rango de fechas:", start = "2023-
01-01", end = "2023-12-31")
31
01
INTRODUCCIÓN AL BIG DATA Y EL BUSINESS INTELLIGENCE
MÓDULO 7: PROGRAMACIÓN EN R
),
mainPanel(
plotOutput("ventasPlot")
server <- function(input, output) {
output$ventasPlot <- renderPlot({
ventas <- [Link](
Fecha = seq([Link]("2023-01-01"), [Link]("2023-12-31"), by =
"day"),
Ingresos = runif(365, min = 500, max = 2000)
plot(ventas$Fecha, ventas$Ingresos, type = "l", col = "blue", xlab =
"Fecha", ylab = "Ingresos")
})
shinyApp(ui = ui, server = server)
32
01
INTRODUCCIÓN AL BIG DATA Y EL BUSINESS INTELLIGENCE
MÓDULO 7: PROGRAMACIÓN EN R
Resumen
En este resumen, repasarás los puntos más importantes del Módulo 7:
Programación en R.
1: Introducción al módulo
La programación en R es una herramienta determinante para analizar y
visualizar datos. Este lenguaje permite realizar cálculos avanzados, crear
gráficos impactantes y gestionar grandes volúmenes de información.
Además, su versatilidad y comunidad activa lo convierten en una opción
ideal para quienes buscan transformar datos en conocimiento útil. Este
módulo te proporcionará las herramientas necesarias para aplicar R en
escenarios prácticos y relevantes.
2: Fundamentos de R
Para empezar, es importante instalar R y configurar RStudio, un entorno que
mejora la experiencia de programación. Aquí aprenderás sobre vectores,
matrices y data frames, las estructuras básicas que facilitan el manejo de
datos. Con estas herramientas, podrás transformar y explorar información
de manera eficiente.
3: Manipulación de datos con dplyr y tidyr
El manejo de datos es clave en cualquier análisis. Con las librerías dplyr y
tidyr, podrás filtrar, transformar y organizar información de forma clara y
eficiente. Por ejemplo, dplyr facilita la agrupación de datos y el cálculo de
estadísticas, mientras que tidyr reorganiza información desordenada en
formatos fáciles de interpretar.
4: Visualización con ggplot2
La librería ggplot2 te permite crear gráficos desde representaciones
simples, como histogramas, hasta gráficos avanzados con múltiples capas.
Esto facilita la comunicación de resultados de manera clara e intuitiva.
Imagina representar la evolución de las ventas en un gráfico de líneas
superpuesto con tendencias destacadas.
33
01
INTRODUCCIÓN AL BIG DATA Y EL BUSINESS INTELLIGENCE
MÓDULO 7: PROGRAMACIÓN EN R
5: Creación de dashboards con Shiny
Con Shiny, puedes crear dashboards interactivos para presentar análisis en
tiempo real. Desde supervisar ventas hasta evaluar métricas de marketing,
Shiny combina gráficos y análisis dinámicos para facilitar la toma de
decisiones. Un dashboard bien diseñado puede incluir pestañas con
gráficos de clics y ROI.
6: Aplicaciones prácticas y modelos avanzados
Los modelos lineales y no lineales te ayudan a entender relaciones
complejas entre variables, mientras que las técnicas de clustering y
segmentación permiten agrupar datos según características comunes. Por
ejemplo, en marketing puedes identificar grupos de clientes para
personalizar estrategias.
7: Conclusión
La programación en R es una herramienta poderosa que amplía tus
posibilidades en el análisis de datos, desde la limpieza y visualización hasta
la creación de modelos predictivos. Al dominar este módulo, estarás
preparado para afrontar desafíos en sectores tan variados como la ciencia,
la economía o la tecnología.
¡Esperamos que este resumen os haya sido útil! Recuerda que cada
habilidad que desarrolles con R es un paso más hacia el dominio del
análisis de datos.
34
01
INTRODUCCIÓN AL BIG DATA Y EL BUSINESS INTELLIGENCE
MÓDULO 7: PROGRAMACIÓN EN R
Glosario
• Agrupación: Técnica para segmentar datos en subconjuntos con
características comunes.
• Clustering: Técnica de agrupamiento utilizada para segmentar datos en
grupos homogéneos.
• CRAN: Red oficial para descargar R y sus paquetes asociados.
• Dashboard: Panel de control interactivo que permite visualizar y
analizar información de forma dinámica.
• Factor: Tipo de dato categórico utilizado en análisis estadísticos.
• Gramática de gráficos: Concepto de ggplot2 para construir gráficos
mediante capas de datos, geometrías y ajustes estéticos.
• Histograma: Representación gráfica de la distribución de frecuencias de
una variable.
• Imputación: Método estadístico para estimar y reemplazar valores
ausentes.
• K-means: Algoritmo de clustering basado en la minimización de
distancias dentro de los grupos.
• Modelo lineal: Representación matemática que asume una relación
directa entre variables dependientes e independientes.
• Modelo no lineal: Modelo estadístico que describe relaciones complejas
no representables mediante líneas rectas.
• Modelo predictivo: Algoritmo que estima la probabilidad de eventos
futuros basándose en datos históricos.
• Normalización: Proceso de ajustar datos para que sigan una escala
común.
• Paquete: Extensión que añade funcionalidades específicas a R.
• Regresión logística: Método estadístico utilizado para modelar
probabilidades de ocurrencia de eventos binarios.
• Segmentación: Proceso de dividir datos en categorías predefinidas.
• Series temporales: Datos ordenados cronológicamente que muestran
cómo evolucionan ciertos valores a lo largo del tiempo.
• Shiny: Paquete de R que facilita la creación de aplicaciones web para la
visualización de datos.
35
01
INTRODUCCIÓN AL BIG DATA Y EL BUSINESS INTELLIGENCE
MÓDULO 7: PROGRAMACIÓN EN R
• Sistema de recomendación: Modelo que sugiere productos o servicios
basándose en preferencias previas de los usuarios.
• Tibble: Estructura moderna en R para gestionar datos tabulares de
forma eficiente.
• tidyverse: Conjunto de librerías en R diseñadas para análisis de datos.
• Valores ausentes: Datos que no están presentes en el conjunto
analizado, marcados como NA en R.
• Working Directory: Carpeta predeterminada donde se almacenan los
archivos de un proyecto.
36
01
INTRODUCCIÓN AL BIG DATA Y EL BUSINESS INTELLIGENCE
MÓDULO 7: PROGRAMACIÓN EN R
37
01
INTRODUCCIÓN AL BIG DATA Y EL BUSINESS INTELLIGENCE