Considere la relación publicidad/ventas en una tienda de equipos de sonido. Durante los últimos tres meses, en 10 ocasiones la tienda apareció en comerciales de televisión, en el fin de semana, para promover sus ventas
library(ggplot2) # Para gráficas
## Warning: package 'ggplot2' was built under R version 3.6.2
library(stats) # Para regresion lineal
semanas <- c(1:10)
comerciales <- c(2,5,1,3,4,1,5,3,4,2)
ventas <- c(50,57,41,54,54,38,63,48,59,46)
datos <- data.frame(semanas,comerciales,ventas)
datos
## semanas comerciales ventas
## 1 1 2 50
## 2 2 5 57
## 3 3 1 41
## 4 4 3 54
## 5 5 4 54
## 6 6 1 38
## 7 7 5 63
## 8 8 3 48
## 9 9 4 59
## 10 10 2 46
plot(datos$comerciales, datos$ventas,
xlab = "Comerciales",
ylab = "Ventas $",
main = "Diagrama de dispersión")
ggplot(datos, aes(comerciales, ventas)) + geom_point()
#ggplot(data = datos) +
# geom_point(mapping = aes(x = comerciales, y = ventas))
modelo <- lm(ventas ~ comerciales, data = datos)
modelo
##
## Call:
## lm(formula = ventas ~ comerciales, data = datos)
##
## Coefficients:
## (Intercept) comerciales
## 36.15 4.95
y_predict <- predict(modelo, datos)
y_predict
## 1 2 3 4 5 6 7 8 9 10
## 46.05 60.90 41.10 51.00 55.95 41.10 60.90 51.00 55.95 46.05
ggplot() + geom_point(data = datos, aes(x = comerciales, y = ventas), size = 0.9) +
geom_line(aes( x = datos$comerciales, y = y_predict), color = "red") +
xlab("Comerciales") +
ylab("Ventas") +
ggtitle("Linea de tendencia sobre Conjunto de Datos")
summary(modelo)
##
## Call:
## lm(formula = ventas ~ comerciales, data = datos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.900 -2.737 -0.075 2.775 3.950
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 36.150 2.285 15.820 2.55e-07 ***
## comerciales 4.950 0.689 7.185 9.39e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.081 on 8 degrees of freedom
## Multiple R-squared: 0.8658, Adjusted R-squared: 0.849
## F-statistic: 51.62 on 1 and 8 DF, p-value: 9.386e-05
cr <- cor(datos$comerciales, datos$ventas)
cr
## [1] 0.9304906
predict.Ventas <- predict(modelo, data.frame(comerciales = c(3.5, 4.5)))
predict.Ventas
## 1 2
## 53.475 58.425
predict.Ventas <- modelo$coefficients[1] + modelo$coefficients[2] * c(3.5, 4.5)
predict.Ventas
## [1] 53.475 58.425