📦 data.frame y tibble
Un data.frame es una tabla donde cada columna es una variable y cada fila una observación. La función head() muestra las primeras filas, str() muestra la estructura, y names() los nombres. Con $ accedes a columnas: datos$ingreso. R distingue mayúsculas y minúsculas.
📐 lm() (Linear Model)
lm(y ~ x1 + x2, data = df) es la función principal para estimar MCO. La fórmula y ~ x1 + x2 especifica el modelo. R automáticamente incluye el intercepto (constante). Para omitirlo: y ~ x1 - 1. Guarda el resultado en un objeto (modelo <- lm(...)).
📊 summary()
summary(modelo) muestra: coeficientes estimados, errores estándar, t-estadísticos, p-valores, R², R² ajustado, F-test global, y sigma (raíz del ECM). Los códigos de significancia: *** p<0.001, ** p<0.01, * p<0.05, . p<0.1.
🎨 Gráficos básicos
R tiene gráficos integrados potentes: plot(y ~ x) para dispersión, hist() para histogramas, boxplot() para diagramas de caja. Para diagnóstico: plot(modelo) genera 4 gráficos: residuos vs ajustados, Q-Q, Scale-Location, y Residuals vs Leverage.
🔧 lm() object internals
Un objeto lm guarda: $coefficients, $residuals, $fitted.values, $model (datos usados), $call, $terms. Con names(modelo) ves todo. La función residuals() extrae residuos, fitted() extrae ajustados. predict(modelo, newdata) predice en nuevos datos.
📈 tidyverse y más allá
El paquete tidyverse (dplyr, ggplot2, tidyr) ofrece una gramática para manipulación de datos y gráficos modernos. Ejemplo: datos %>% filter(ingreso > 1000) %>% ggplot(aes(x=educacion, y=ingreso)) + geom_point() + geom_smooth(method="lm"). broom::tidy(modelo) extrae coeficientes como data.frame.
Usamos datos simulados de ingreso (en miles USD) y educación (años). n=100.
encuesta <- data.frame(educ=sample(8:20,100,replace=T), ingreso=rnorm(100,25+2.5*educ,5)) → head(encuesta) muestra educ=12,ingreso=52.3...
m <- lm(ingreso ~ educ, data=encuesta). R estima por MCO los coeficientes. Podemos verlos simplemente escribiendo "m".
summary(m): Coeficientes: (Intercept) 24.82***, educ 2.51***. R²=0.78. F-statistic=348.5 on 1 and 98 DF. Interpretación: cada año adicional de educación incrementa el ingreso en $2,510 USD en promedio.
plot(m) → mira los 4 gráficos. El gráfico Residuos vs Ajustados no debe mostrar patrón (banda horizontal). El Q-Q plot debe seguir la diagonal. Si hay puntos fuera de las bandas, investiga.
Simulamos datos y mostramos el resultado como si fuera la consola de R.