################################
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(tidyr)
library(readr)
Advertising2 <- read_csv("Advertising2.csv")
## Rows: 200 Columns: 6
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (2): InvesionTV, TipoVentas
## dbl (4): TV, Radio, Newspaper, Sales
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
# PARTE I
#A. RESUMEN ESTADÍSTICO
# MEDIAS
media_tv <- mean(Advertising2$TV)
media_radio <- mean(Advertising2$Radio)
media_newspaper <- mean(Advertising2$Newspaper)
media_sales <- mean(Advertising2$Sales)
df_resumen <- tibble(media_tv,media_newspaper,media_radio,media_sales)
# Desviación Estándar
sd_tv<- sd(Advertising2$TV)
sd_radio <- sd(Advertising2$Radio)
sd_newspaper <-sd(Advertising2$Newspaper)
sd_sales <- sd(Advertising2$Sales)
sd_resumen <- tibble(sd_tv,sd_sales,sd_radio,sd_newspaper)
# Min y max
min_tv <- min(Advertising2$TV)
max_tv <- max(Advertising2$TV)
min_radio <- min(Advertising2$Radio)
max_radio <- max(Advertising2$Radio)
min_newspaper <- min(Advertising2$Newspaper)
max_newspaper <- max(Advertising2$Newspaper)
min_sales <- min(Advertising2$Sales)
max_sales <- max(Advertising2$Sales)
# B. Intervalos de confianza
int_conf_sales <- t.test(Advertising2$Sales)$conf.int
# (13.3, 14.8)
# Con un 95% de confianza, se puede decir que la media de las ventas se encuentra entre 13.3 y 14.8.
int_conf_pub <- Advertising2 %>%
pivot_longer(cols = c(Radio,Newspaper,TV),
names_to = "Channel",
values_to = "Amount")
t_test_pub <- t.test(int_conf_pub$Amount)$conf.int
# (60.8, 73.1)
# Con un 95% de confianza, se puede decir que la media de los gastos de publicidad se encuentra entre 60.8 y 73.1.
# C. Pruebas de hipótesis
# 1. No hay evidencia para respaldar que el promedio
# es superior a las 15 mil unidades.
# 2.
t_test_tv <- t.test(Advertising2$Sales ~ Advertising2$InvesionTV,
conf.level = 0.93, data = Advertising2)
print(t_test_tv)
##
## Welch Two Sample t-test
##
## data: Advertising2$Sales by Advertising2$InvesionTV
## t = 12.942, df = 183.83, p-value < 2.2e-16
## alternative hypothesis: true difference in means between group Alta and group Baja is not equal to 0
## 93 percent confidence interval:
## 6.044532 8.025975
## sample estimates:
## mean in group Alta mean in group Baja
## 17.50495 10.46970
# Se puede respaldar que hay diferencia en el promedio.=.
# 3.
n_high <- sum(Advertising2$InvesionTV == "Alta")
n_total <- nrow(Advertising2)
prop.test(n_high, n_total, p = 0.5, conf.level = 0.95)
##
## 1-sample proportions test with continuity correction
##
## data: n_high out of n_total, null probability 0.5
## X-squared = 0.005, df = 1, p-value = 0.9436
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
## 0.4338146 0.5759902
## sample estimates:
## p
## 0.505
# no se puede concluir que difieren del 50%; p valor > 0.05
# y se encuentra dentro del intervalo de confianza.
# D. Regresión lineal
Reg_sales <- lm(Advertising2$Sales ~ Advertising2$TV)
summary(Reg_sales)
##
## Call:
## lm(formula = Advertising2$Sales ~ Advertising2$TV)
##
## Residuals:
## Min 1Q Median 3Q Max
## -8.3860 -1.9545 -0.1913 2.0671 7.2124
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 7.032594 0.457843 15.36 <2e-16 ***
## Advertising2$TV 0.047537 0.002691 17.67 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.259 on 198 degrees of freedom
## Multiple R-squared: 0.6119, Adjusted R-squared: 0.6099
## F-statistic: 312.1 on 1 and 198 DF, p-value: < 2.2e-16
# Interpretación
#El coeficiente 7.03 se puede interpretar como, cuando no se invierte dinero en publicidad en televisión, las ventas serán de 7,000 unidades. El R^2 es 0.6119, que se puede decir que el 61% de la variación en ventas se explica con la publicidad en TV.
# E. Regresión lineal múltiple
mult_reg <- lm(Advertising2$Sales ~ Advertising2$TV + Advertising2$Radio + Advertising2$Newspaper)
summary(mult_reg)
##
## Call:
## lm(formula = Advertising2$Sales ~ Advertising2$TV + Advertising2$Radio +
## Advertising2$Newspaper)
##
## Residuals:
## Min 1Q Median 3Q Max
## -8.8277 -0.8908 0.2418 1.1893 2.8292
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.938889 0.311908 9.422 <2e-16 ***
## Advertising2$TV 0.045765 0.001395 32.809 <2e-16 ***
## Advertising2$Radio 0.188530 0.008611 21.893 <2e-16 ***
## Advertising2$Newspaper -0.001037 0.005871 -0.177 0.86
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.686 on 196 degrees of freedom
## Multiple R-squared: 0.8972, Adjusted R-squared: 0.8956
## F-statistic: 570.3 on 3 and 196 DF, p-value: < 2.2e-16
# Intepretación
#El intercepto del modelo nos dice que si no se invierte en publicidad, se espera a que las ventas sean de 2.93 unidades (en miles). Si se invierte en TV (mientras las demás variables se mantienen constantes), las ventas aumentarán en 0.045 unidades (en miles). si se invierte en Radio, las ventas aumentarán en 0.188 unidades (en miles). Si se invierte en Newspaper, las ventas se reducirán en 0.001 unidades (en miles). Sin embargo, todas las variables son significativas menos Newspaper, pues tiene un p valor > 0.05, por lo que es estadísticamente insignificante. El r2 ajustado es de 0.89, lo que significa que el 89% de la variación en ventas se puede explicar por las demás variables, una mejora sobre el modelo simple de regresión que tenía un R2 de 0.61.