#Para rellenar los datos N/A
Alturas$skyl1 <- ifelse([Link](Alturas$skyl1), mean(Alturas$skyl1, [Link] = TRUE),
Alturas$skyl1)
#Para saber qué clase de datos son
class(Alturas$skyl1)
class(Alturas$valid)
#Para dividir los datos entre un conjunto de prueba y uno de entrenamiento
[Link](123)
split <- [Link](Alturas$skyl1, SplitRatio = 2/3)
training_set <- subset(Alturas, split == TRUE)
test_set <- subset(Alturas, split == FALSE)
#Crear modelo de regresión lineal a partir del conjunto de entrenamiento
regressor <- lm(formula = skyl1 ~ valid, data = training_set)
#Hacer predicción con datos del conjunto de prueba
y_pred <- predict(regressor , newdata = test_set)
comparacion <- test_set
comparacion$prediccion <- y_pred
comparacion$diferencia <- (comparacion$skyl1 - comparacion$prediccion)
cor(training_set$skyl1, training_set$valid)
plot(training_set)
abline(regressor)
summary(regressor)
plot(regressor)
#Verificar normalidad
residuales <- residuals(regressor)
mean(residuales)
hist(residuales)
[Link](residuales)
#Verificar homocedasticidad
fitt <- regressor [[5]]
leveneTest(residuales, fitt)
#Verificar independencia
[Link]("lmtest")
library(lmtest)
dwtest(regressor)
#Se encuentra que no existe independencia en los datos, gracias al prueba Durbin-
Watson
#Calcular MAD
MAD <- mean(comparacion$Absoluta)
#Calcular RMSE
rmse <- sqrt(mean(comparacion$diferencia^2))