Librerías

library (readr)
library(ggplot2)
library(corrplot)
library (dplyr)

Datos

datos <- read.csv("C:/Users/dell/Desktop/Modulo 3 Curso de Titulacion/datos/rutas_millas_tarifas_de_vuelos.csv")

Explorar datos

str(datos)
## 'data.frame':    18 obs. of  3 variables:
##  $ ruta  : chr  "Dallas-Austin " "Houston-Dallas " "Chicago-Detroit " "Chicago-San Luis " ...
##  $ millas: int  178 232 238 262 301 593 1092 1608 714 901 ...
##  $ costo : int  125 123 148 136 129 162 224 264 287 256 ...
summary(datos)
##      ruta               millas         costo      
##  Length:18          Min.   : 178   Min.   :123.0  
##  Class :character   1st Qu.: 374   1st Qu.:151.5  
##  Mode  :character   Median :1048   Median :275.5  
##                     Mean   :1196   Mean   :280.7  
##                     3rd Qu.:1752   3rd Qu.:364.0  
##                     Max.   :2574   Max.   :513.0

Coeficiente de correlación

*Las millas es variable independiente o X ** *El costo es la variable dependiente o Y **

r <- cor(datos$millas, datos$costo)
r <- round(r, 4)
r
## [1] 0.8358

Interpretación de la correlación El valor de la correlación es ** 0.8358** que significa que estadísticamente es una correlación positiva considerable

Crear el modelo de Regresión Lineal Simple (MRL)

La fórmula del modelo de rergesión lineal simple para este caso está dada de que el costo de vuelo está en función de las millas. costo=a+b∗millas

modelo <- lm(data = datos, formula = costo ~ millas)
modelo
## 
## Call:
## lm(formula = costo ~ millas, data = datos)
## 
## Coefficients:
## (Intercept)       millas  
##    128.5770       0.1272
summary(modelo)
## 
## Call:
## lm(formula = costo ~ millas, data = datos)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -130.58  -40.95  -18.36   46.06  155.71 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 128.57699   30.24824   4.251  0.00061 ***
## millas        0.12715    0.02088   6.089 1.57e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 72.38 on 16 degrees of freedom
## Multiple R-squared:  0.6985, Adjusted R-squared:  0.6797 
## F-statistic: 37.07 on 1 and 16 DF,  p-value: 1.567e-05

Determinar los coeficentes

a <- modelo$coefficients[1]
b <- modelo$coefficients[2]

a 
## (Intercept) 
##     128.577
b
##    millas 
## 0.1271535

Predecir manualente

Una ciudad que está a 200 millas de distancia de otra cuanto debe costar un boleto de avión.
millas.nuevo <- 200
prediccion <- a + b * millas.nuevo

prediccion
## (Intercept) 
##    154.0077

Interpretación: Para una distancia 200 millas entre una ciudad y otra, el costo del boleto de avión debiera ser de 154.0076802 conforme al modelo de regresión Lineal.

Nuevos valores

Predecir por medio de predict()

prediccion <- predict(modelo, newdata = data.frame(millas = c(290,760, 1100,1400,1650)))
prediccion
##        1        2        3        4        5 
## 165.4515 225.2136 268.4458 306.5918 338.3802