Este es un markdown para realizar un análisis bi variado la base de datos bddocente.

La información de esta base de datos contiene datos que caracterizan a la población docente y los resultados de las calificaciones obtenidas al inicio y al finalizar la acción formativa:

Programa: Nombre de la acción formativa Región: Nombre de la región UGEL: Nombre de la Unidad de Gestión Educativa Local Cod.Modular_IE_Nexus: Código modular de la institución educativa Sexo: Sexo del docente Escala: Escala magisterial Con. Locaboral: Condición Laboral CE: Resultados de la calificación de entrada CS: Resultados de la calificación de salida

Abrimos todos los paquetes que usaremos para realizar el análisis bivariado.

library(foreign) #Paquete para importar datos
## Warning: package 'foreign' was built under R version 4.1.3
library(dplyr) #Paquete de procesamiento de bases de datos
## Warning: package 'dplyr' was built under R version 4.1.3
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(car) #Paquete de análisis de datos
## Warning: package 'car' was built under R version 4.1.3
## Loading required package: carData
## Warning: package 'carData' was built under R version 4.1.3
## 
## Attaching package: 'car'
## The following object is masked from 'package:dplyr':
## 
##     recode
library(xtable) #Paquete tablas en LaTeX
## Warning: package 'xtable' was built under R version 4.1.3

Importamos nuestra base de datos BD de docentes del sector público en Excel.

library(readxl)
## Warning: package 'readxl' was built under R version 4.1.3
bddocente <- read_excel("docentes_m3_inominada.xlsx")

Observamos nuestras variables de interés. Para esta sesión trabajaremos con las variables: SEXO, ESCALA (Escala Magisterial: A mayor Escala el docente tiene más experiencia, estudios y mejor desempeño), CE (calificación de entrada) CS (calificación de salida)

names(bddocente)
##  [1] "ID"                   "PROGRAMA"             "REGIÓN"              
##  [4] "UGEL"                 "NEXUS"                "COD.MODULAR_IE_NEXUS"
##  [7] "NIVEL_NEXUS"          "SEXO"                 "ESCALA"              
## [10] "COND_LABORAL"         "CE"                   "CS"
attach(bddocente)
library(Hmisc)
## Warning: package 'Hmisc' was built under R version 4.1.3
## 
## Attaching package: 'Hmisc'
## The following objects are masked from 'package:xtable':
## 
##     label, label<-
## The following objects are masked from 'package:dplyr':
## 
##     src, summarize
## The following objects are masked from 'package:base':
## 
##     format.pval, units

#MODELANDO

modelo1<- lm(CS ~ CE) #Regresión lineal con una sóla independiente
summary(modelo1)
## 
## Call:
## lm(formula = CS ~ CE)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -10.6315  -0.7579   1.3685   1.6214   2.5064 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 17.49363    0.28060  62.345  < 2e-16 ***
## CE           0.06321    0.02005   3.152  0.00167 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.329 on 995 degrees of freedom
## Multiple R-squared:  0.009888,   Adjusted R-squared:  0.008893 
## F-statistic: 9.937 on 1 and 995 DF,  p-value: 0.001668
plot(modelo1)

modelo1b<- lm(CS ~ CE + ESCALA) #Regresión con dos independientes
summary(modelo1b)
## 
## Call:
## lm(formula = CS ~ CE + ESCALA)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -10.3764  -0.8325   1.3263   1.6719   2.5321 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 17.38153    0.28617  60.739  < 2e-16 ***
## CE           0.05527    0.02044   2.704  0.00698 ** 
## ESCALA       0.08639    0.04477   1.930  0.05391 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.326 on 994 degrees of freedom
## Multiple R-squared:  0.01358,    Adjusted R-squared:  0.0116 
## F-statistic: 6.844 on 2 and 994 DF,  p-value: 0.001116

#analizando multicolinealidad

#{r} #install.packages("perturb") #library(perturb) #colimodelo1<-colldiag(modelo1b)#Para ver el índice de condición #print(colimodelo1,fuzz=.3) #print(colimodelo1,fuzz=NULL) #

#{r} #install.packages("olsrr") #library(olsrr) #ols_eigen_cindex(modelo1b) #

install.packages("car")
## Warning: package 'car' is in use and will not be installed
library(car)
vif(modelo1b) # Mayor de 4 encontramos multicolinalidad
##       CE   ESCALA 
## 1.042231 1.042231
sqrt(vif(modelo1b))
##       CE   ESCALA 
## 1.020897 1.020897

#analizando normalidad de los residuos #{r} #res<-residuals(modelo1) #install.packages("nortest") #library(nortest) #libreria para ver normalidad. #sf.test(res)#Probando normalidad #

#analizando la independencia de errores o no autocorrelación #{r} #install.packages("lmtest") #library(lmtest) #dwtest(modelo1)#El resultado debe estar entre 1.5 y 2.5 #

#analizando la linealidad del modelo #{r} #install.packages("gvlma") #library(gvlma) #gvmodelo1 <- gvlma(modelo1) #summary(gvmodelo1) #plot(gvmodelo1) #

#analizando valores extremos

plot(modelo1)

library(MASS)
## 
## Attaching package: 'MASS'
## The following object is masked from 'package:dplyr':
## 
##     select
cook<-cooks.distance(modelo1b)
r<-stdres(modelo1b)
rabs<-abs(r)
yf<-fitted(modelo1b)
a<-cbind(yf, cook,r,rabs)
aordres<-a[order(-rabs),]#ordenando por residuo
aordres[1:10,] #diez primeros
##           yf        cook         r     rabs
## 957 18.37642 0.038463600 -4.473876 4.473876
## 686 17.79955 0.032538985 -4.224536 4.224536
## 837 17.79955 0.032538985 -4.224536 4.224536
## 69  18.35227 0.011339125 -3.595533 3.595533
## 696 17.79955 0.020612511 -3.362347 3.362347
## 394 17.68901 0.029074582 -3.318728 3.318728
## 61  18.74614 0.011707932 -2.906328 2.906328
## 493 18.61145 0.005483605 -2.845283 2.845283
## 662 18.50090 0.004608313 -2.797340 2.797340
## 433 18.47675 0.009561604 -2.789617 2.789617

#analizando si existe heterocedasticidad #{r} #install.packages("lmtest") #library(lmtest) #bptest(modelo1b) #