Las Casas de Boston Descubriendo la Regresión en R

Objetivo del Proyecto: 🎯

El objetivo de esta guía es construir, interpretar y comunicar un modelo de regresión lineal en R. Utilizaremos el dataset de viviendas de California para predecir el valor mediano de una vivienda basándonos en sus características. Todo el análisis se documentará en un informe de R Markdown que finalmente publicaremos en RPubs.

Conceptos Estadísticos Clave: 🧠

Análisis Exploratorio de Datos (EDA) con tidyverse

Aprenderemos a usar dplyr para manipular datos y ggplot2 para crear visualizaciones de alta calidad que nos ayuden a entender la estructura y las relaciones en nuestros datos.

Regresión Lineal Simple y Múltiple

Utilizaremos la función lm() de R para modelar la relación entre una variable dependiente (median_house_value) y uno o más predictores.

Interpretación del summary() del Modelo

Desglosaremos la salida del modelo en R para entender los coeficientes, el R-cuadrado ajustado, los p-valores y su significado práctico.

R Markdown y Reproducibilidad

Entenderemos cómo combinar texto narrativo, código R y sus salidas (tablas, gráficos) en un único documento profesional.

Carga de Datos y Librerías

# cargando los paquetes tidyverse y corrplot
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.2
## ✔ ggplot2   3.5.2     ✔ tibble    3.3.0
## ✔ lubridate 1.9.4     ✔ tidyr     1.3.1
## ✔ purrr     1.1.0     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(corrplot)
## corrplot 0.95 loaded
# 2. Cargar el conjunto de datos
# Se asume que el archivo "housing.csv" está en tu directorio de trabajo.
# read_csv() es una función de tidyverse (del paquete readr) para leer archivos CSV.
casas = read.csv("housing.csv")
casas
# Muestra las tres primeras lineas del dataset
head(casas,3)
# Muestra las tres ultimas lineas del dataset
tail(casas,3)
# 3. Obtener una vista rápida de los datos
# glimpse() de dplyr (parte de tidyverse) ofrece un resumen conciso y transpuesto del data frame.
# Es muy útil para ver los tipos de datos de cada columna y algunos valores de ejemplo.
glimpse(casas)
## Rows: 20,640
## Columns: 10
## $ longitude          <dbl> -122.23, -122.22, -122.24, -122.25, -122.25, -122.2…
## $ latitude           <dbl> 37.88, 37.86, 37.85, 37.85, 37.85, 37.85, 37.84, 37…
## $ housing_median_age <dbl> 41, 21, 52, 52, 52, 52, 52, 52, 42, 52, 52, 52, 52,…
## $ total_rooms        <dbl> 880, 7099, 1467, 1274, 1627, 919, 2535, 3104, 2555,…
## $ total_bedrooms     <dbl> 129, 1106, 190, 235, 280, 213, 489, 687, 665, 707, …
## $ population         <dbl> 322, 2401, 496, 558, 565, 413, 1094, 1157, 1206, 15…
## $ households         <dbl> 126, 1138, 177, 219, 259, 193, 514, 647, 595, 714, …
## $ median_income      <dbl> 8.3252, 8.3014, 7.2574, 5.6431, 3.8462, 4.0368, 3.6…
## $ median_house_value <dbl> 452600, 358500, 352100, 341300, 342200, 269700, 299…
## $ ocean_proximity    <chr> "NEAR BAY", "NEAR BAY", "NEAR BAY", "NEAR BAY", "NE…
# Mostrando las variables del dataset casas
# Mostrando la variable objetivo o dependiente
# Mediante un resumen utilizando la función summary()
summary(casas$median_house_value)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   14999  119600  179700  206856  264725  500001