library(rio) # importar data
library(DescTools) # herramientas para trabajar
library(ggplot2) # gráficos
library(knitr) # para ver mejor los códigos
library(magrittr) # para ver mejor los códigos
library(kableExtra) # para ver mejor los códigos
library(ggcorrplot) # para ver el gráfico de correlacion en variables numéricas
library(lm.beta)  # para estandaraizar
library(sjPlot)
library(margins) # para regresiones logísticas
library(lmtest)
## Cargando paquete requerido: zoo
## 
## Adjuntando el paquete: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
library(modelsummary)
## `modelsummary` 2.0.0 now uses `tinytable` as its default table-drawing
##   backend. Learn more at: https://vincentarelbundock.github.io/tinytable/
## 
## Revert to `kableExtra` for one session:
## 
##   options(modelsummary_factory_default = 'kableExtra')
##   options(modelsummary_factory_latex = 'kableExtra')
##   options(modelsummary_factory_html = 'kableExtra')
## 
## Silence this message forever:
## 
##   config_modelsummary(startup_message = FALSE)
## 
## Adjuntando el paquete: 'modelsummary'
## The following objects are masked from 'package:DescTools':
## 
##     Format, Mean, Median, N, SD, Var
library(cvms) # saber como falla la nueva columna predictora de la rlb
library(survival) # REGRESIÓN COX
library(survminer) # REGRESIÓN COX
## Cargando paquete requerido: ggpubr
## 
## Adjuntando el paquete: 'ggpubr'
## The following object is masked from 'package:cvms':
## 
##     font
## 
## Adjuntando el paquete: 'survminer'
## The following object is masked from 'package:survival':
## 
##     myeloma
library(ggfortify) # ANÁLISIS KAPLAN MEIER
library(dplyr)
## 
## Adjuntando el paquete: 'dplyr'
## The following object is masked from 'package:kableExtra':
## 
##     group_rows
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ lubridate 1.9.3     ✔ tibble    3.2.1
## ✔ purrr     1.0.2     ✔ tidyr     1.3.1
## ✔ readr     2.1.5
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ tidyr::extract()    masks magrittr::extract()
## ✖ dplyr::filter()     masks stats::filter()
## ✖ dplyr::group_rows() masks kableExtra::group_rows()
## ✖ dplyr::lag()        masks stats::lag()
## ✖ purrr::set_names()  masks magrittr::set_names()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(stringi)
library(scraEP) # PARA UNNACENT Y MAYUSCULAS 
data=import("dataPeru.xlsx")

“DEPARTAMENTO” : Departamento del Peru “UBIGEO”: Ubigeo del departamento “buenEstado”: Porcentaje de locales escolares en buen estado “contribuyentesSunat”: Cantidad de contribuyentes a la SUNAT (PEA) “peaOcupada”: Cantidad de PEA ocupada “pobUrbana”: poblacion urbana (PEA) “PobRural”: poblacion rural (PEA) “pobTotal” Poblacion total (PEA)

Pregunta 1

Al querer probar la hipotesis que el buen estado de los locales escolares depende del porcentaje de la poblacion que contribuye a la SUNAT; y del porcentaje de la PEA que está laborando; se llega a comprobar que (con una significancia del 0.05)

# Ajustar el modelo de regresión
modelo <- lm(buenEstado ~ contribuyentesSunat + peaOcupada, data = data)

# Resumen del modelo
summary(modelo)
## 
## Call:
## lm(formula = buenEstado ~ contribuyentesSunat + peaOcupada, data = data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -10.589  -3.966  -1.347   1.907  21.518 
## 
## Coefficients:
##                       Estimate Std. Error t value Pr(>|t|)    
## (Intercept)          1.865e+01  2.694e+00   6.922 5.98e-07 ***
## contribuyentesSunat  1.786e-05  2.060e-05   0.867    0.395    
## peaOcupada          -1.596e-05  2.241e-05  -0.712    0.484    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 7.925 on 22 degrees of freedom
## Multiple R-squared:  0.1561, Adjusted R-squared:  0.07939 
## F-statistic: 2.035 on 2 and 22 DF,  p-value: 0.1546
# Crear el modelo con las variables estandarizadas
modelo3_st=formula(scale(buenEstado) ~ scale(contribuyentesSunat) + scale(as.numeric(peaOcupada)) + scale(pobUrbana) + scale(pobTotal))

# Ajustar el modelo de regresión estandarizado
modelo3_st=lm(modelo3_st, data = data)

# Crear una lista para almacenar el modelo
modelo3_st=list('buenEstado (III_st)'=modelo3_st)

# Resumir el modelo con kableExtra y añadir estrellas para significancia
modelsummary(modelo3_st, title = "Regresión: Modelo 3 con \ncoeficientes estandarizados",
             stars = TRUE,
             output = "kableExtra")
Regresión: Modelo 3 con coeficientes estandarizados
&nbsp;buenEstado (III_st)
(Intercept) 0.000
(0.183)
scale(contribuyentesSunat) -3.169
(4.019)
scale(as.numeric(peaOcupada)) 3.852
(8.982)
scale(pobUrbana) 5.417
(3.362)
scale(pobTotal) -5.758
(5.005)
Num.Obs. 25
R2 0.300
R2 Adj. 0.159
AIC 73.0
BIC 80.3
Log.Lik. -30.513
F 2.138
RMSE 0.82
+ p < 0.1, * p < 0.05, ** p < 0.01, *** p < 0.001

Pregunta 2

# Ajustar el modelo de regresión lineal múltiple
modelo_pea <- lm(peaOcupada ~ contribuyentesSunat + buenEstado, data = data)

# Resumen del modelo para ver los coeficientes y los valores p
summary(modelo_pea)
## 
## Call:
## lm(formula = peaOcupada ~ contribuyentesSunat + buenEstado, data = data)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -91867 -58573 -11166  46174 155851 
## 
## Coefficients:
##                       Estimate Std. Error t value Pr(>|t|)    
## (Intercept)          1.155e+05  3.787e+04   3.049  0.00588 ** 
## contribuyentesSunat  9.206e-01  1.741e-02  52.872  < 2e-16 ***
## buenEstado          -1.412e+03  1.983e+03  -0.712  0.48395    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 74540 on 22 degrees of freedom
## Multiple R-squared:  0.9932, Adjusted R-squared:  0.9926 
## F-statistic:  1603 on 2 and 22 DF,  p-value: < 2.2e-16