library(dplyr)
library(lubridate)
library(ggplot2)
amazon <- read.csv("data_set_amazon.csv",
stringsAsFactors = FALSE)
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
Es notorio que los productos más comprados son los libros, después los electrónicos y la ropa lo menos comprado
Posterior una tabla para ver las frecuencias de cada rubro especificamente para mujeres
df5 <- df4 %>% filter(gender_num == 1, grupo_edad == "18-30")
tabla_1 <- table(df5)
tabla_1
La tabla nos ayuda a verificar que el producto mas popular entre mujeres de 18-30 años son los libros
Dado que el interés en la exploración de datos son las mujeres de 18 a 30 y la compra de ropa , filtraré esas variables
df_mujer_joven_4 <- df4 %>% filter(gender_num== 1, Purchase_num== 4, grupo_edad == "18-30")
modelo <- lm(Purchase_num ~ gender_num + edad_char, data = df_mujer_joven_4)
summary(modelo)
Efectivamente las mujeres entre 18 y 30 años compran libros en amazon el 49.68% de estas compras pueden explicarse por la edad y sexo debido a que tengo un p-value < 0.05