library(dplyr) library(lubridate) library(ggplot2)

amazon <- read.csv(“data_set_amazon.csv”, stringsAsFactors = FALSE)

Hipotesis

Contando únicamnente a las mujeres, las compras de ropa estan hechas mayoritariamente por mujeres entre 18 y 30 años

Primero debo convertir la columna de hombres y mujeres a numerica, donde:

    # 0 sea hombre y 1 mujer

df2 <- amazon_2 %>% mutate(Gender_str = as.character(Gender)) df2\(gender_num[df2\)Gender_str == “Female”] <- 1 df2\(gender_num[df2\)Gender_str == “Male”] <- 0

Dado que tengo la fecha de nacimiento de los compradores puedo calcular su edad

amazon_2 <- amazon %>% #mutate para que haga otra columna #difftime es la diferencia de tiempo y Sys.date arroja la fecha actual mutate(edad = floor(difftime(Sys.Date(), Date.of.Birth, units = “weeks”)/52.25)) #floor es para que rendonee hacia abajo df2\(edad_char = as.character(df2\)edad) df2\(edad_char = as.numeric(as.character(df2\)edad))

Debo converitr a numerico la columna de compras, de manera que:

  # electronicos= 3, libros= 4 y ropa = 5

df3 <- df2 %>% mutate(Purchase_str = as.character(Purchase.History))
df3\(Purchase_num[df3\)Purchase_str == “Electronics”] <- 3 df3\(Purchase_num[df3\)Purchase_str == “Books”] <- 4 df3\(Purchase_num[df3\)Purchase_str == “Clothing”] <- 5

Debido a que la base es muy extensa y hay datos irrelevantes seleccionaré las variables de interes

df4<- df3 %>% select(Purchase_num, edad_char, gender_num)

Para facilitar la lectura de los datos voy a crear clases en las edades

intervalos <- c(18, 30, 40, 50, 65, 80) etiquetas <- c(“18-30”, “31-40”, “41-50”, “51-65”, “66-80”) df4\(grupo_edad <- cut(df4\)edad_char, breaks = intervalos, labels = etiquetas, include.lowest = TRUE) head(df4)

Posterior una tabla para ver las frecuencias de cada rubro

table(df4)

Para mayor claridad se hace una gráfica:

ggplot(df4, aes(x = Purchase_num, fill = gender_num)) + geom_bar(position = “dodge”) + labs(title = “Frecuencia de Tipos de Producto por Sexo”, x = “Tipo de Producto”, y = “Frecuencia”) + theme_minimal()

Es notorio que los productos más comprados son los libros, después los electronicos y la ropa lo menos comprado

Dado que el interes en la exploración de datos son las mujeres de 18 a 30 y la compra de ropa , filtrare esas variables

df_mujer_joven_3 <- df4 %>% filter(gender_num== 1, Purchase_num== 5, grupo_edad == “18-30”)

Regresión lineal

modelo <- lm(Purchase_num ~ gender_num + edad_char, data = df_mujer_joven_3) summary(modelo)

interpretación de coeficientes

Efectivamente las mujeres entre 18 y 30 años compran ropa en amazon el 50.82% de estas compras pueden explicarse por la edad y sexo debido a que tengo un p-value < 0.05