library(AER) library(MASS) # estimar el modelo restringido y guardar el resultado en `model_res` # calcular el SSR del modelo restringido y asignarlo a `RSSR` # estimar el modelo sin restricciones y guardar el resultado en `model_unres` # calcular el SSR del modelo no restringido y asignarlo a `USSR` # estimar el modelo restringido y guardar el resultado en `model_res` model_res <- lm(medv ~ lstat + I(crim + age), data = Boston) # calcular el SSR del modelo restringido y asignarlo a `RSSR` RSSR <- sum(model_res$residuals^2) # estimar el modelo sin restricciones y guardar el resultado en `model_unres` model_unres <- lm(medv ~ lstat + crim + age, data = Boston) # calcular el SSR del modelo no restringido y asignarlo a `USSR` USSR <- sum(model_unres$residuals^2) test_or({ test_function("lm", args = c("formula", "data"), not_called_msg = "Something is wrong.", args_not_specified_msg = "Something is wrong.") },{ sol <- ex() %>% override_solution("model_res <- lm(medv ~ lstat + I(crim + age), data = Boston)") sol %>% check_function("lm") %>% check_arg("formula") %>% check_equal() },{ sol <- ex() %>% override_solution("model_res <- lm(Boston$medv ~ Boston$lstat + I(Boston$crim + Boston$age))") sol %>% check_function("lm") %>% check_arg("formula") %>% check_equal()}) test_object("model_res", eval = F) test_object("RSSR") test_or({ test_function("lm", args = c("formula", "data"), not_called_msg = "Something is wrong.", args_not_specified_msg = "Something is wrong.") },{ sol <- ex() %>% override_solution("model_unres <- lm(medv ~ lstat + crim + age, data = Boston)") sol %>% check_function("lm") %>% check_arg("formula") %>% check_equal() },{ sol <- ex() %>% override_solution("model_unres <- lm(Boston$medv ~ Boston$lstat + Boston$crim + Boston$age)") sol %>% check_function("lm") %>% check_arg("formula") %>% check_equal() }) test_object("model_unres", eval = F) test_object("USSR") success_msg("¡Correcto! Se debe tener en cuenta que la SSR del modelo restringido es siempre mayor o igual que la SSR del modelo no restringido.")