Configuraciones Iniciales

knitr::opts_chunk$set(echo = TRUE, include = TRUE, fig.align = "center",
                      fig.width = 8.5, fig.height = 9, message = FALSE, 
                      warning = FALSE, results = "asis")
#############################################################################
# Portfolio Opimization
# Author: Matías Vicuña Cofré
#############################################################################
#******************** Configuraciones e Inicializacion *********************#
#############################################################################
{
  # Librerías
  {
    # Lista de paquetes que quieres verificar
    paquetes <- c("tidyverse","skimr","stargazer","wooldridge",
                  "lmtest","car","formattable","rmarkdown")
    
    # Verificar e instalar paquetes que no estén instalados
    for (paquete in paquetes) {
      if (!require(paquete, character.only = TRUE)) {
        install.packages(paquete)
      }
    }
    remove(paquetes)
    
    # Activacion Librerias
    suppressPackageStartupMessages({
      library(tidyverse) # Nucleo de trabajo
      library(skimr) # Estadísticas detalladas 
      library(stargazer) # Visualización resultados Regresión
      library(wooldridge) # Datos libro econometría Wooldridge
      library(lmtest) # Test de modelos de regresión linear
      library(car) # Paquete para regresión linear
      library(formattable) # Darle formato HTML a las tablas
      library(rmarkdown) # Formato rmarkdown
    })
  }
  # Configuraciones Entorno de Trabajo
  {
    # Limpiamos el entorno de trabajo
    rm(list = ls())
    
    # Limpiamos la Memoria (RAM)
    gc(reset = TRUE)
    
    # Limpiamos la consola
    cat("\014")
    
    # De número científico a natural
    options(scipen = 999)
  }
}

Regresión Lineal


Cargando la muestra

Para comenzar con el modelo de regresión, usaremos la base de datos wage1, el cual se encuentra en el paquete wooldridge (para mas detalle del paquete, sus bases y descripciones, haz clic aquí), con ello ya expuesto, procedemos con la carga de la base y su primera visualización estadística de la misma.

# Cargamos la data desde el paquete Wooldrige
data_1 <- wooldridge::wage1

# Visualizamos la dimensión de la muestra
dim_d1 <- t(as_tibble(dim(data_1)))
dim_d1 <- as_tibble(dim_d1,rownames = NULL)
colnames(dim_d1) <- c("Filas","Columnas")
formattable(dim_d1)
Filas Columnas
526 24
# Realizamos la primera visualización de los datos
paged_table(skim_without_charts(data_1))

para nuestro primer ejemplo, realizaremos un modelo simple, el cual sólo tendría un regresor para la estimación, el modelo se ve de la siguiente forma:

\[ wage_i = \beta_0 + \beta_1 educ_i + u_i \]

Siendo \(wage_i\) el salario promedio por hora que ganan los trabajadores de la muestra y \(educ_i\) son los años de educación que posee cada uno de los trabajadores. El objetivo de este primer modelo básico es visualizar el efecto que posee los años de educación sobre la renta promedio por hora, teniendo como teoría el hecho de que “ha mayor nivel de educación, mayor salario promedio/hora recibe el trabajador”.


El modelo se representa de la siguiente forma:

# Generamos el Modelo
modelo_1 <- lm(formula = wage ~ educ, data = data_1)

# Visualizamos el modelo y sus resultados
stargazer(modelo_1,header = FALSE, type = "html",title = "Resultados Modelo 1",align = TRUE)
Resultados Modelo 1
Dependent variable:
wage
educ 0.541***
(0.053)
Constant -0.905
(0.685)
Observations 526
R2 0.165
Adjusted R2 0.163
Residual Std. Error 3.378 (df = 524)
F Statistic 103.363*** (df = 1; 524)
Note: p<0.1; p<0.05; p<0.01

Copyright © 2024 Matías Vicuña Cofré, Todos los Derechos Reservados.