# Cargar la librería readxl para poder leer archivos en formato Excel
library(readxl)
## Warning: package 'readxl' was built under R version 4.3.3
# Leer el archivo Excel y asignarlo a la variable datos_marketing
# Asegúrate de que la ruta especificada sea correcta
datos_marketing <- read_excel("D:/UPC 2024/R/datos_marketing.xlsx")
# Mostrar los primeros 6 registros del dataset para verificar el contenido cargado
head(datos_marketing)
## # A tibble: 6 × 7
## ID Genero Edad Sector Satisfaccion Cantidad_Productos Ingresos
## <dbl> <chr> <dbl> <chr> <chr> <dbl> <dbl>
## 1 1 Femenino 23 Retail Bueno 1 34657.
## 2 2 Masculino 35 Tecnología Malo 5 34088.
## 3 3 Femenino 42 Retail Malo 2 34272.
## 4 4 Femenino 29 Marketing Muy bueno 3 34545.
## 5 5 Masculino 23 Finanzas Bueno 1 33587.
## 6 6 Femenino 35 Tecnología Malo 5 33945.
#eliminar la primera columna ID
datos <- datos_marketing[,-1]
head(datos)
## # A tibble: 6 × 6
## Genero Edad Sector Satisfaccion Cantidad_Productos Ingresos
## <chr> <dbl> <chr> <chr> <dbl> <dbl>
## 1 Femenino 23 Retail Bueno 1 34657.
## 2 Masculino 35 Tecnología Malo 5 34088.
## 3 Femenino 42 Retail Malo 2 34272.
## 4 Femenino 29 Marketing Muy bueno 3 34545.
## 5 Masculino 23 Finanzas Bueno 1 33587.
## 6 Femenino 35 Tecnología Malo 5 33945.
table(datos_marketing$Cantidad_Productos)
##
## 1 2 3 4 5
## 14 50 50 52 32
#Gráfico de Bastones
unique(datos_marketing$Cantidad_Productos)
## [1] 1 5 2 3 4 NA
datos_marketing$Cantidad_Productos <- as.numeric(as.character(datos_marketing$Cantidad_Productos))
# Crear la tabla de frecuencias para 'Cantidad_Productos'
tabla_frecuencia_productos <- table(na.omit(datos_marketing$Cantidad_Productos))
# Convertir la tabla a un formato numérico
cantidades <- as.numeric(names(tabla_frecuencia_productos))
frecuencias <- as.numeric(tabla_frecuencia_productos)
# Crear el gráfico de bastones
cantidades <- as.numeric(names(tabla_frecuencia_productos))
frecuencias <- as.numeric(tabla_frecuencia_productos)
plot(cantidades, frecuencias,
type = "h",
lwd = 3,
col = "blue",
main = "Gráfico de Bastones: Cantidad de Productos Comprados",
xlab = "Cantidad de Productos",
ylab = "Frecuencia",
ylim = c(0, max(frecuencias) + 1))
Histograma
# Cambiar el fondo del gráfico a amarillo suave
par(bg = "lightyellow")
# Asegurarse de que Ingresos sea numérico
datos_marketing$Ingresos <- as.numeric(as.character(datos_marketing$Ingresos))
# Verifica si hay NA después de la conversión
suma_na<-sum(is.na(datos_marketing$Ingresos))
suma_na
## [1] 0
# Histograma para la variable 'Ingresos'
# Crear un histograma de la columna 'Ingresos' con colores personalizados y título mejorado
hist(datos_marketing$Ingresos,
col = "lightgreen", # Color de las barras
main = "Distribución de clientes según Ingresos", # Título mejorado
xlab = "Ingresos (soles)", # Etiqueta del eje X
ylab = "Frecuencia", # Etiqueta del eje Y
border = "black") # Color del borde de las barras
# 4. Medidas de resumen: Medidas de tendencia central y posición
# Calcular medidas de tendencia central para 'Ingresos'
media_ingresos <- mean(datos_marketing$Ingresos)
mediana_ingresos <- median(datos_marketing$Ingresos)
moda_ingresos <- as.numeric(names(sort(table(datos_marketing$Ingresos), decreasing = TRUE)[1]))
# Mostrar las medidas
media_ingresos
## [1] 34573.99
mediana_ingresos
## [1] 34587.59
moda_ingresos
## [1] 32568.16
# Calcular los cuartiles
cuartiles <- quantile(datos_marketing$Ingresos, probs = c(0.25, 0.5, 0.75), na.rm = TRUE)
cuartiles
## 25% 50% 75%
## 34122.64 34587.59 35022.19
# Calcular el percentil 90
percentil_90 <- quantile(datos_marketing$Ingresos, probs = 0.90, na.rm = TRUE)
percentil_90
## 90%
## 35406.91
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.3.3
ggplot(datos_marketing, aes(x = "", y = Ingresos)) +
geom_boxplot(fill = "lightgreen", color = "darkgreen") +
labs(title = "Diagrama de Cajas de Ingresos", y = "Ingresos")