# 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.

1. Organización de datos: Variables cuantitativas discretas y continuas

Variables cuantitativas discretas: Cantidad_Productos (número entero de productos comprados)

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))

3. Gráficos para variable cuantitativa continua: Ingresos

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

5. Medidas de posición (cuartiles y percentiles)

# 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

6. Diagrama de cajas (Boxplot) para la variable ‘Ingresos’

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")