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) #