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)
}
}
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)
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.