install.packages(“gapminder”) library(gapminder) data(“gapminder”) help(“gapminder”) View(gapminder)
colSums(is.na(gapminder)) # Eliminar las observaciones con datos faltantes gapminder <- gapminder[complete.cases(gapminder), ] # Contar el número de observaciones con datos completos nrow(gapminder)
#primero hacerlos con los nombres sin cambiar gapminder\(country <- as.factor(gapminder\)country) class(gapminder\(country) gapminder\)continent <- as.factor(gapminder\(continent) class(gapminder\)continent)
gapminder\(gdpPercap <- log(gapminder\)gdpPercap)
nombres_espanol <- c(“País”, “Continente”, “Año”, “Expectativa_de_vida”, “Población”, “PIB_per_cápita”) # Renombrar todas las variables en español names(gapminder) <- nombres_espanol gapminder
poblacion_mayor_mil_millones <- gapminder[gapminder$Población > 1000000000, ] poblacion_mayor_mil_millones
install.packages(“ggplot2”) library(ggplot2) ggplot(gapminder, aes(x = Año, y = Expectativa_de_vida, color = Continente)) + geom_line() + labs(title = “Esperanza de vida por año y continente”, x = “Año”, y = “Esperanza de vida”)
ggplot(gapminder, aes(x = Continente, y = Expectativa_de_vida, fill = Continente)) + geom_boxplot() + scale_fill_manual(values = c(“#1f77b4”, “#ff7f0e”, “#2ca02c”, “#d62728”, “#9467bd”)) + labs(title = “Esperanza de vida por continente”, x = “Continente”, y = “Esperanza de vida”)
library(ggplot2) ggplot(gapminder, aes(x = PIB_per_cápita, y = Expectativa_de_vida)) + geom_point(aes(color = Continente)) + labs(x = “PIB per cápita”, y = “Esperanza de vida”, title = “Relación entre PIB per cápita y Esperanza de vida”)
set.seed(123) # establecer semilla aleatoria para reproducibilidad train_indices <- sample(nrow(gapminder), round(0.8 * nrow(gapminder))) train_data <- gapminder[train_indices, ] test_data <- gapminder[-train_indices, ]
#Paso 11 # Cargar la librería de regresión lineal library(stats) # Establecer semilla aleatoria para reproducibilidad set.seed(123) # Obtener los índices de entrenamiento para el 80% de los datos train_indices <- sample(nrow(gapminder), round(0.8 * nrow(gapminder))) # Crear un conjunto de entrenamiento y uno de prueba train_data <- gapminder[train_indices, ] test_data <- gapminder[-train_indices, ]
lm_model <- lm(Expectativa_de_vida ~ PIB_per_cápita, data = train_data) # Mostrar el resumen del modelo summary(lm_model)
test_pred <- predict(lm_model, newdata = test_data) # Calcular el MSE mse <- mean((test_data\(Expectativa_de_vida - test_pred)^2) print(paste("MSE:", mse)) # Calcular el R² r_squared <- cor(test_data\)Expectativa_de_vida, test_pred)^2 print(paste(“R-squared:”, r_squared))