Guión introductorio para un análisis exploratorio de la base de datos sobre una encuesta a los estudiantes del curso Estadística Descriptiva y Análisis Exploratorio de datos.

El resumen inicial de la base de datos se obtiene de la siguiente manera

summary(encuesta)
##     Encuesta          Género        Edad                     Carrera  
##  Min.   : 1.0   Femenino : 8   Min.   :16.0   Ing. Sistemas      :31  
##  1st Qu.:15.2   Masculino:50   1st Qu.:18.0   Estadística        :15  
##  Median :29.5                  Median :19.0   Ing. Civil         : 4  
##  Mean   :29.5                  Mean   :19.8   Ing. Administrativa: 2  
##  3rd Qu.:43.8                  3rd Qu.:21.0   ing. Industrial    : 2  
##  Max.   :58.0                  Max.   :27.0   Economía           : 1  
##                                NA's   :1      (Other)            : 3  
##     Semestre        Estrato     Red.Social           Problemática
##  Min.   : 2.00   Min.   :1.00     : 1      Educación       :17   
##  1st Qu.: 2.00   1st Qu.:3.00   No: 3      Corrupción      : 7   
##  Median : 4.00   Median :3.00   Si:54                      : 4   
##  Mean   : 4.36   Mean   :3.28              Conflicto Armado: 4   
##  3rd Qu.: 6.00   3rd Qu.:4.00              Seguridad       : 4   
##  Max.   :10.00   Max.   :6.00              Crisis Ambiental: 3   
##                                            (Other)         :19   
##       PAPA          ICFES     Año.Ingr.UN    Año.Ingr.PV     T..M..R.U   
##  Min.   :3.20          :19   Min.   :2010   Min.   :2005   Min.   : 5.0  
##  1st Qu.:3.60   3      : 2   1st Qu.:2012   1st Qu.:2010   1st Qu.:20.0  
##  Median :3.90   69     : 2   Median :2013   Median :2012   Median :35.0  
##  Mean   :3.86   8      : 2   Mean   :2013   Mean   :2012   Mean   :37.9  
##  3rd Qu.:4.20   10     : 1   3rd Qu.:2014   3rd Qu.:2013   3rd Qu.:53.0  
##  Max.   :4.60   121    : 1   Max.   :2014   Max.   :2014   Max.   :90.0  
##  NA's   :4      (Other):31   NA's   :2      NA's   :4                    
##   Hora.Llegada    Medio.Transp T..P..Ad.EDAED  Asig...Matric.
##  08:00  : 8    Bus      :31    Min.   : 2.00   Min.   :4.00  
##  05:50  : 6    A pie    : 9    1st Qu.: 3.00   1st Qu.:5.00  
##  07:40  : 6    Metro    : 8    Median : 4.00   Median :5.00  
##  07:55  : 6    Microbus : 3    Mean   : 6.53   Mean   :5.48  
##  06:00  : 5    Bicicleta: 2    3rd Qu.: 8.00   3rd Qu.:6.00  
##  07:45  : 4    Carro    : 2    Max.   :48.00   Max.   :9.00  
##  (Other):23    (Other)  : 3    NA's   :1                     
##  T..P.Ad.Total     T.P.Internet T.P.Televisión   T.P.Deporte   
##  Min.   :   3.0   Min.   :  3   Min.   :  0.0   Min.   : 0.00  
##  1st Qu.:  15.0   1st Qu.: 90   1st Qu.:  0.0   1st Qu.: 1.00  
##  Median :  20.0   Median :150   Median : 30.0   Median : 3.00  
##  Mean   :  51.9   Mean   :156   Mean   : 37.1   Mean   : 4.69  
##  3rd Qu.:  28.0   3rd Qu.:210   3rd Qu.: 60.0   3rd Qu.: 5.75  
##  Max.   :1600.0   Max.   :480   Max.   :180.0   Max.   :60.00  
##  NA's   :1                      NA's   :1                      
##     Trabajo          Número  
##  Min.   : 0.00   7      :14  
##  1st Qu.: 0.00   8      : 9  
##  Median : 0.00   5      : 8  
##  Mean   : 4.19   3      : 7  
##  3rd Qu.: 3.75   4      : 7  
##  Max.   :42.00   10     : 4  
##  NA's   :4       (Other): 9

Para ver de manera descendente la distribución de frecuenca de las distintas carreras a las que pertenecen los estudiantes se obtiene de la siguiente manera:

sort(table(encuesta$Carrera), decreasing = TRUE)
## 
##       Ing. Sistemas         Estadística          Ing. Civil 
##                  31                  15                   4 
## Ing. Administrativa     ing. Industrial            Economía 
##                   2                   2                   1 
##      Ing. Eléctrica         Ing. Física         Matemáticas 
##                   1                   1                   1

Dado que la variable ICFES no debería ser de tipo “factor” sino numérica, examinaresmos los niveles:

levels(encuesta$ICFES)
##  [1] ""    "10"  "121" "127" "13"  "14"  "15"  "18"  "21"  "25"  "3"  
## [12] "32"  "35"  "38"  "4"   "40"  "41"  "42"  "43"  "489" "5"   "50" 
## [23] "53"  "56"  "57"  "58"  "580" "60%" "62"  "63"  "69"  "70"  "72" 
## [34] "78"  "8"   "83"  "87"

Se observa que existe un nivel en donde se dejó el símbolo de porcentaje, por lo tanto provoca que los demás número se tomen como valores alfanuméricos (factor).

Desde el lenguaje “R” se puede modificar con la función “recode()” del paquete “car” de la siguiente manera:

require(car)
## Loading required package: car
as.numeric(recode(as.character(encuesta$ICFES),"'60%'='60'"))
##  [1]  87  NA  NA  62  70 121  25  NA  63  60   8  10  NA  18  38   8  78
## [18]  NA  NA  69  NA 580  NA  NA 127  40  13  NA  NA   3  15  57   4  43
## [35]  53   5  72  14   3  NA  NA  NA  56 489  35  NA  NA  NA  21  NA  NA
## [52]  58  41  83  50  32  69  42

Para que el resultado quede permanente se asigna a la variable que se quiera modificar.

encuesta$ICFES <- as.numeric(recode(as.character(encuesta$ICFES),"'60%'='60'"))

with(encuesta,summary(ICFES))
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##     3.0    16.5    43.0    69.8    69.0   580.0      19

Gráfica exploratoria para los resultados del ICFES.

dotchart(encuesta$ICFES, pch = 19, main = "Diagrama de puntos del resultado del ICFES")

plot of chunk unnamed-chunk-7

Cálculo de la edad de entrada a la universidad por primera vez:

encuesta$Edad.Entr.U <- encuesta$Edad - (2014-encuesta$Año.Ingr.PV)
summary(encuesta$Edad.Entr.U)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##    15.0    17.0    17.0    17.7    18.0    26.0       5

Gráfica de puntos de la variable “Edad.Entr.U”

with(encuesta,dotchart(Edad.Entr.U, 
                       main = "Edad de entrada a la universidad por primera vez",
                       xlab = "Edad (años cumplidos)",
                       pch = 19))

plot of chunk unnamed-chunk-9

Histograma y diagrama de puntos de la variable PAPA.

with(encuesta,dotchart(PAPA, pch=19, main = "Diagrama de puntos del PAPA"))

plot of chunk unnamed-chunk-10

with(encuesta,hist(PAPA, main = "Histograma del PAPA"))

plot of chunk unnamed-chunk-10

Relación entre Edad y PAPA.

with(encuesta,plot(Edad, PAPA, main = "Relación de Edad con PAPA", pch = 19))

plot of chunk unnamed-chunk-11

Relación entre Semestre y PAPA

with(encuesta,plot(Semestre, PAPA, pch = 19,
                   main = "Relación entre Semestre y PAPA"))

plot of chunk unnamed-chunk-12

Convertir la hora de llegada en formato de tiempo.

encuesta$Hora.Llegada <- as.POSIXct(strptime(encuesta$Hora.Llegada,
                                            format = "%H:%M"))

Cálculo del tiempo en horas y fraccion de hora al llegar a la universidad.

encuesta$HoraLlegada <- as.integer(format(encuesta$Hora.Llegada, "%H")) +
                        as.integer(format(encuesta$Hora.Llegada, "%M"))/60

Diagrama de puntos de la hora de llegada a la Universidad.

with(encuesta,hist(HoraLlegada))

plot of chunk unnamed-chunk-15

with(encuesta,dotchart(HoraLlegada))

plot of chunk unnamed-chunk-15

Relación entre el tiempo que se demoran en llegar a la Universidad y la hora de llegada.

with(encuesta,plot(HoraLlegada, T..M..R.U, pch = 19,
                   main ="Relación entre hora de llegada a la Universidad y el tiempo en llegar",
                   xlab = "Hora de llegada (horas)",
                   ylab = "Tiempo que tarda en llegar a la Universidad (minutos)"))

plot of chunk unnamed-chunk-16