Se utilizará el dataset airquality, analizando las variables Ozone (Promedio de ozono en partes por miles de millones) y Temp (Temperatura máxima en grados Fahrenheit).
data(airquality)
#Se grafican las variables Ozone vs Temperatura.
plot(Temp~Ozone, data=airquality)
lm.fit=lm(Temp~Ozone, data=airquality)
lm.fit
##
## Call:
## lm(formula = Temp ~ Ozone, data = airquality)
##
## Coefficients:
## (Intercept) Ozone
## 69.4107 0.2008
#Se grafica la regresión lineal
plot(Temp~Ozone, data=airquality)
abline(69.4107, 0.2008, col="blue")
#Aquí se predicen los datos de pw para la regresión lineal de Ozone y Temp.
pw<-c(50, 78, 120, 124, 152)
predict.lm(lm.fit, data.frame(Ozone=pw))
## 1 2 3 4 5
## 79.45120 85.07387 93.50788 94.31112 99.93379
#Se agregan los nuevos datos con su predicción al data.frame
datos <- data.frame(airquality$Ozone, airquality$Temp)
datos <- rbind(datos, c(50, 79.45120))
datos <- rbind(datos, c(78, 85.07387))
datos <- rbind(datos, c(120, 93.50788))
datos <- rbind(datos, c(124, 94.31112))
datos <- rbind(datos, c(152, 99.93379))
#Se grafican los nuevos datos
plot(airquality.Temp~airquality.Ozone, data=datos)
lm.fit=lm(airquality.Temp~airquality.Ozone, data=datos)
lm.fit
##
## Call:
## lm(formula = airquality.Temp ~ airquality.Ozone, data = datos)
##
## Coefficients:
## (Intercept) airquality.Ozone
## 69.4107 0.2008
Se puede apreciar que, agregando los nuevos datos al data.frame, los coeficientes de su regresión se mantienen. Esto es lo esperado, ya que los datos de la predicción son creados a partir de la ecuación conseguida de la regresión. Esto se aprecia al observar la imagen de las variables airquality.Ozone en el gráfico, que aparecen sobre la recta de regresión.
#Se grafica la nueva regresión lineal
plot(airquality.Temp~airquality.Ozone, data=datos)
abline(69.4107, 0.2008, col="blue")
#Se multiplica un dato por 100.
datos2 <- data.frame(airquality$Ozone, airquality$Temp)
#Se agrega el dato multiplicado
datos2 <- rbind(datos2, c(50*100, 79.45120))
datos2 <- rbind(datos2, c(78, 85.07387))
datos2 <- rbind(datos2, c(120, 93.50788))
datos2 <- rbind(datos2, c(124, 94.31112))
datos2 <- rbind(datos2, c(152, 99.93379))
#Se grafican los nuevos datos
plot(airquality.Temp~airquality.Ozone, data=datos2)
lm.fit=lm(airquality.Temp~airquality.Ozone, data=datos2)
lm.fit
##
## Call:
## lm(formula = airquality.Temp ~ airquality.Ozone, data = datos2)
##
## Coefficients:
## (Intercept) airquality.Ozone
## 78.266755 0.001448
Se obtiene que los coeficientes cambian por completo, entregando una ecuación que no representa la correlación de los datos, debido a este valor modificado.
#Se grafica la nueva regresión lineal
plot(airquality.Temp~airquality.Ozone, data=datos2)
abline(78.266755, 0.001448, col="blue")