En el siguiente texto vamos a analizar los datos de losn usuarios en el cual se hara un pequeño analisis exploratorio para encontrar patrones, relaciones o tendencias entre las diferentes variantes dadas
El promedio de las calificaciones otorgadas por los usuarios que usan frecuentemente la aplicación de Amazon disminuye a medida en que aumenta la cantidad de llamadas realizadas al servicio de atención al cliente, siempre y cuando excluimos a los usuarios que realizan 0 y 10 llamadas.
Primero debemos de descarcar los paquetes que usaremos, en este caso usaremos “dplyr” y “ggplot2”
Despues continuamos descargando la base de datos
Amazon_Data <- read.csv("Escobar Ortiz Alan Saul - data_set_amazon.csv",
stringsAsFactors = TRUE)
y corroboramos que los datos esten
head(Amazon_Data)
## User.ID Name Email.Address Username
## 1 1 Ronald Murphy williamholland@example.com williamholland
## 2 2 Scott Allen scott22@example.org scott22
## 3 3 Jonathan Parrish brooke16@example.org brooke16
## 4 4 Megan Williams elizabeth31@example.net elizabeth31
## 5 5 Kathryn Brown pattersonalexandra@example.org pattersonalexandra
## 6 6 Sandra Cox gparks@example.org gparks
## Date.of.Birth Gender Location Membership.Start.Date Membership.End.Date
## 1 1953-06-03 Male Rebeccachester 2024-01-15 2025-01-14
## 2 1978-07-08 Male Mcphersonview 2024-01-07 2025-01-06
## 3 1994-12-06 Female Youngfort 2024-04-13 2025-04-13
## 4 1964-12-22 Female Feliciashire 2024-01-24 2025-01-23
## 5 1961-06-04 Male Port Deborah 2024-02-14 2025-02-13
## 6 1954-09-19 Female Lake Johnathan 2024-01-15 2025-01-14
## Subscription.Plan Payment.Information Renewal.Status Usage.Frequency
## 1 Annual Mastercard Manual Regular
## 2 Monthly Visa Manual Regular
## 3 Monthly Mastercard Manual Regular
## 4 Monthly Amex Auto-renew Regular
## 5 Annual Visa Auto-renew Frequent
## 6 Monthly Amex Manual Occasional
## Purchase.History Favorite.Genres Devices.Used Engagement.Metrics
## 1 Electronics Documentary Smart TV Medium
## 2 Electronics Horror Smartphone Medium
## 3 Books Comedy Smart TV Low
## 4 Electronics Documentary Smart TV High
## 5 Clothing Drama Smart TV Low
## 6 Books Action Tablet Low
## Feedback.Ratings Customer.Support.Interactions
## 1 3.6 3
## 2 3.8 7
## 3 3.3 8
## 4 3.3 7
## 5 4.3 1
## 6 3.8 2
Ahora si, para obtener los datos que necesito para cumplir la hipotesis se corrio el siguiente código
data_filtrada_2 <- Amazon_Data %>%
filter(Usage.Frequency == "Regular") %>%
group_by(Customer.Support.Interactions) %>%
filter(Customer.Support.Interactions >= 1 & Customer.Support.Interactions <= 9) %>%
summarise(promedio = mean(Feedback.Ratings))
En este codigo lo que se hace es:
1.- En primera se le dice que se agarren los datos de la base de usuarios de Amazon 2.- Despues, filtramos los datos para que solo nos aparezcan aquellos ususarios que usan frecuentemente la aplicación 3.- Mas tarde, se le pide que agrupe por la variable “Customer.Support.Interactions” la cual representa la cantidad de interacciones con el servicio de atención al cliente 4.- Despues se le pide que se filtren los datos para que solo incluya a los usuarios que hayan hecho entre 1 y 9 interacciones con el servicio al cliente 5.- Se le pide calcular el promedio dentro de cada grupo, y el resultado se le llama “promedio”
El cuadro quedaria mas o menos asi:
data_filtrada_2
## # A tibble: 9 × 2
## Customer.Support.Interactions promedio
## <int> <dbl>
## 1 1 4.10
## 2 2 4.03
## 3 3 3.96
## 4 4 4.08
## 5 5 4.07
## 6 6 4.01
## 7 7 4.03
## 8 8 3.91
## 9 9 4.00
Con esto podemos graficar lo siguiente, donde vemos una grafica hecha con ggplot la cual nos enseña la la relación entre las llamadas a atención al cliente y las calificaciones promedio de los usuarios frecuentes:
ggplot(data_filtrada_2, aes( x = Customer.Support.Interactions,
y = promedio)) +
geom_point() + geom_smooth(method = "lm") +
scale_x_continuous(breaks = seq(1, 9, by = 1))
## `geom_smooth()` using formula = 'y ~ x'
Con esto ya podemos hacer nuestro modelo de regresión lineal
modelo <- lm(data = data_filtrada_2, promedio ~ Customer.Support.Interactions)
summary(modelo)
##
## Call:
## lm(formula = promedio ~ Customer.Support.Interactions, data = data_filtrada_2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.08343 -0.02807 0.02641 0.03528 0.04791
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 4.07935 0.03990 102.246 2.26e-12 ***
## Customer.Support.Interactions -0.01189 0.00709 -1.677 0.137
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.05492 on 7 degrees of freedom
## Multiple R-squared: 0.2867, Adjusted R-squared: 0.1848
## F-statistic: 2.813 on 1 and 7 DF, p-value: 0.1374
modelo
##
## Call:
## lm(formula = promedio ~ Customer.Support.Interactions, data = data_filtrada_2)
##
## Coefficients:
## (Intercept) Customer.Support.Interactions
## 4.07935 -0.01189
Al parecer, el modelo nos dice que por cada aumento en las llamadas al servicio al cliente hay uns disminución de 0.01189 en el promedio dado por los usuarios, por lo que nuestro modelo no es capaz de explicar del todo, por si mismo, las calificaciones dadas por los usuarios