El objetivo del proyecto final es aplicar todo lo aprendido en el curso para analizar un conjunto de datos de ventas. Utilizaremos técnicas de importación de datos, limpieza y preparación, análisis descriptivo, visualización de datos y modelos de regresión para obtener información valiosa y realizar predicciones. Este proyecto integrará diversas habilidades y herramientas que hemos cubierto a lo largo del curso.
Importaremos los datos de ventas desde un archivo CSV.
Código:
# Cargar paquetes necesarios
library(readr)
library(dplyr)
library(tidyr)
library(ggplot2)
# Importar datos desde un archivo CSV
datos_ventas <- read_csv("ruta/al/archivo_ventas.csv")
Limpiaremos los datos eliminando filas con valores nulos, rellenando valores faltantes, corrigiendo errores de formato y creando nuevas variables.
Código:
# Eliminar filas con valores nulos
datos_ventas <- datos_ventas %>%
drop_na()
# Rellenar valores nulos con la media o un valor específico
datos_ventas <- datos_ventas %>%
mutate(
producto = replace_na(producto, "Desconocido"),
ventas = replace_na(ventas, mean(ventas, na.rm = TRUE)),
fecha = as.Date(fecha, format = "%Y-%m-%d")
)
# Convertir nombres de productos a mayúsculas
datos_ventas <- datos_ventas %>%
mutate(producto = toupper(producto))
# Crear una nueva variable para el año de la venta
datos_ventas <- datos_ventas %>%
mutate(año = format(fecha, "%Y"))
Realizaremos un análisis descriptivo de las ventas, calculando medidas de tendencia central y dispersión.
Código:
# Calcular medidas descriptivas
medidas_descriptivas <- datos_ventas %>%
summarise(
media_ventas = mean(ventas),
mediana_ventas = median(ventas),
desviacion_ventas = sd(ventas),
total_ventas = sum(ventas)
)
print(medidas_descriptivas)
Crearemos gráficos para visualizar las tendencias de ventas y la distribución de las ventas por producto y año.
Código:
# Gráfico de dispersión de ventas por fecha
ggplot(datos_ventas, aes(x = fecha, y = ventas)) +
geom_point() +
geom_smooth(method = "lm", col = "red") +
labs(title = "Ventas por Fecha", x = "Fecha", y = "Ventas")
# Gráfico de barras de ventas por producto
ggplot(datos_ventas, aes(x = producto, y = ventas)) +
geom_bar(stat = "identity") +
labs(title = "Ventas por Producto", x = "Producto", y = "Ventas") +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
# Gráfico de líneas de ventas por año
ventas_por_año <- datos_ventas %>%
group_by(año) %>%
summarise(total_ventas = sum(ventas))
ggplot(ventas_por_año, aes(x = año, y = total_ventas)) +
geom_line() +
labs(title = "Ventas Totales por Año", x = "Año", y = "Ventas Totales")
Aplicaremos un modelo de regresión lineal para predecir las ventas en función de las variables disponibles.
Código:
# Regresión lineal simple: ventas ~ año
modelo_lineal_simple <- lm(ventas ~ año, data = datos_ventas)
resumen_lineal_simple <- summary(modelo_lineal_simple)
# Regresión lineal múltiple: ventas ~ año + producto
modelo_lineal_multiple <- lm(ventas ~ año + producto, data = datos_ventas)
resumen_lineal_multiple <- summary(modelo_lineal_multiple)
# Resultados de los modelos
resultados <- data.frame(
Modelo = c("Lineal Simple", "Lineal Múltiple"),
R2 = c(resumen_lineal_simple$r.squared, resumen_lineal_multiple$r.squared),
p_valor = c(resumen_lineal_simple$coefficients[2, 4], resumen_lineal_multiple$coefficients[2, 4])
)
print(resultados)
Interpretaremos los resultados obtenidos a partir del análisis descriptivo, visualización y modelos de regresión para tomar decisiones basadas en los datos.
Explicación:
Importación de Datos: Importamos los datos de ventas desde un archivo CSV utilizando read_csv
.
Limpieza y Preparación de Datos: Eliminamos filas con valores nulos, rellenamos valores faltantes con la media, convertimos los nombres de productos a mayúsculas y creamos una nueva variable para el año de la venta.
Análisis Descriptivo: Calculamos medidas de tendencia central y dispersión para las ventas, incluyendo media, mediana, desviación estándar y total de ventas.
Visualización de Datos: Creamos gráficos de dispersión de ventas por fecha, barras de ventas por producto y líneas de ventas totales por año para visualizar las tendencias y distribuciones.
Modelos de Regresión: Aplicamos modelos de regresión lineal simple y múltiple para predecir las ventas en función de las variables disponibles, y comparamos los coeficientes de determinación (R²) y los valores p de los modelos.
Interpretación de Resultados: Utilizamos los resultados del análisis para tomar decisiones basadas en datos, como identificar productos con mayores ventas, entender tendencias anuales y evaluar el impacto de diferentes variables en las ventas.
Este proyecto final integra todas las habilidades y técnicas aprendidas, proporcionando una experiencia práctica completa en el análisis de datos utilizando R.