library(dplyr) library(lubridate) library(ggplot2)
amazon <- read.csv(“data_set_amazon.csv”, stringsAsFactors = FALSE)
# 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
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))
# 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
df4<- df3 %>% select(Purchase_num, edad_char, gender_num)
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)
table(df4)
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()
df_mujer_joven_3 <- df4 %>% filter(gender_num== 1, Purchase_num== 5, grupo_edad == “18-30”)
modelo <- lm(Purchase_num ~ gender_num + edad_char, data = df_mujer_joven_3) summary(modelo)