Análisis exploratorio

La herramienta

Se utilizará R como herramienta para hacer el análisis estadístico descriptivo. En su entorno de desarrollo RStudio.

Los datos

Primero se cargan todos los paquetes a utilizar, luego se lee la base de datos de los resultados del directorio de trabajo:

# directorio de trabajo
setwd("C:/Users/Gustavo/OneDrive/R_Lily")

# Lee la base de datos
Obs.Campo <- read.csv("ObservacionCampoUA-UGR2.csv", sep=";")        

# Se verifican las dimensiones de la base de datos
dim(Obs.Campo)
## [1] 198 119
# Se revisa la estructura de las primeras 7 variables
str(Obs.Campo[1:7])
## 'data.frame':    198 obs. of  7 variables:
##  $ No         : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ Universidad: Factor w/ 2 levels "UA","UGR": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Genero     : Factor w/ 2 levels "h","m": 2 2 2 2 2 2 1 2 1 2 ...
##  $ NEAE       : Factor w/ 6 levels "DISCAPACIDAD AUDITIVA",..: 6 6 6 6 6 2 6 6 6 6 ...
##  $ TA         : Factor w/ 3 levels "centro de relevo",..: 3 3 3 3 3 3 3 3 3 3 ...
##  $ Ingreso    : Factor w/ 1 level "Si logro": 1 1 1 1 1 1 1 1 1 1 ...
##  $ d.ingreso  : int  45 60 30 60 60 60 60 120 30 90 ...
# Se obtiene un resumen preliminar de las primeras 7 variables
summary(Obs.Campo[1:7])
##        No         Universidad Genero                     NEAE    
##  Min.   :  1.00   UA :126     h: 50   DISCAPACIDAD AUDITIVA:  4  
##  1st Qu.: 50.25   UGR: 72     m:148   DISCAPACIDAD ORGÁNICA:  1  
##  Median : 99.50                       DISCAPACIDAD VISUAL  :  1  
##  Mean   : 99.50                       ingreso tardio       :  2  
##  3rd Qu.:148.75                       Ingreso tardio       :  7  
##  Max.   :198.00                       NINGUNA              :183  
##                                                  TA          Ingreso   
##  centro de relevo                                 :  3   Si logro:198  
##  Lector de pantalla Jaws y en el celular Talk back:  1                 
##  NINGUNA                                          :194                 
##                                                                        
##                                                                        
##                                                                        
##    d.ingreso     
##  Min.   :  6.00  
##  1st Qu.: 20.00  
##  Median : 30.00  
##  Mean   : 43.64  
##  3rd Qu.: 60.00  
##  Max.   :300.00
# Se exploran todos los datos de la primera observaciOn por ser tantas columnas
head(Obs.Campo,1)                                     
##   No Universidad Genero    NEAE      TA  Ingreso d.ingreso e.ingreso
## 1  1          UA      m NINGUNA NINGUNA Si logro        45  Contento
##   c.ingreso LocalizaCurso d.LocalizaCurso e.LocalizaCurso c.LocalizaCurso
## 1   ninguno      Si logro              30        Contento         ninguno
##   EntraCurso d.EntraCurso e.EntraCurso c.EntraCurso LocalizaAyuda
## 1   Si logro            5     Contento      Ninguno      Si logro
##   d.LocalizaAyuda e.LocalizaAyuda c.LocalizaAyuda FormularioSoporte
## 1             120       Frustrado         Ninguno          No logro
##   d.FormularioSoporte e.FormularioSoporte c.FormularioSoporte
## 1                  60           Frustrado             Ninguno
##   CambiarIdioma d.CambiarIdioma e.CambiarIdioma c.CambiarIdioma
## 1      Si logro              30     Indiferente         Ninguno
##   EditaPerfil d.EditaPerfil e.EditaPerfil c.EditaPerfil ImagenPerfil
## 1    Si logro            30      Contento       Ninguno     Si logro
##   d.ImagenPerfil e.ImagenPerfil c.ImagenPerfil NoticiaNovedades
## 1             60       Contento        Ninguno         Si logro
##   d.NoticiaNovedades e.NoticiaNovedades c.NoticiaNovedades DescargaFichero
## 1                 30           Contento            Ninguno        Si logro
##   d.DescargaFichero e.DescargaFichero c.DescargaFichero
## 1                55          Contento           Ninguno
##   DescargadesdeDirectorio d.DescargadesdeDirectorio
## 1                Si logro                        60
##   e.DescargadesdeDirectorio c.DescargadesdeDirectorio SeguirEnlace
## 1                  Contento                   Ninguno     Si logro
##   d.SeguirEnlace e.SeguirEnlace c.SeguirEnlace VerVideo d.VerVideo
## 1             60       Contento        Ninguno Si logro         25
##   e.VerVideo c.VerVideo ConsultaPagina d.ConsultaPagina e.ConsultaPagina
## 1   Contento    Ninguno       Si logro               25         Contento
##   c.ConsultaPagina LeeTextoenPagina d.LeeTextoenPagina e.LeeTextoenPagina
## 1          Ninguno         No logro                 60          Frustrado
##   c.LeeTextoenPagina VeImagenenPagina d.VeImagenenPagina
## 1            Ninguno         No logro                120
##   e.VeImagenenPagina c.VeImagenenPagina EnviaMsje d.EnviaMsje e.EnviaMsje
## 1          Frustrado            Ninguno  Si logro          55    Contento
##   c.EnviaMsje ChatNornal.accesible d.ChatNornal.accesible
## 1     Ninguno             Si logro                     60
##   e.ChatNornal.accesible c.ChatNornal.accesible EnviaFichero
## 1               Contento                Ninguno     Si logro
##   d.EnviaFichero e.EnviaFichero c.EnviaFichero RespondeCuestionario
## 1             45       Contento        Ninguno             Si logro
##   d.RespondeCuestionario e.RespondeCuestionario c.RespondeCuestionario
## 1                     55               Contento                Ninguno
##   EntradaGlosario d.EntradaGlosario e.EntradaGlosario c.EntradaGlosario
## 1        No logro                60          Contento           Ninguno
##   FormaGrupos d.FormaGrupos e.FormaGrupos c.FormaGrupos RespondeForo
## 1    No logro           120     Frustrado       Ninguno     Si logro
##   d.RespondeForo e.RespondeForo c.RespondeForo FormatoTexto d.FormatoTexto
## 1             55       Contento        Ninguno     Si logro             55
##   e.FormatoTexto c.FormatoTexto CreaEnlace d.CreaEnlace e.CreaEnlace
## 1       Contento        Ninguno   No logro          120    Frustrado
##   c.CreaEnlace InsertaImagen d.InsertaImagen e.InsertaImagen
## 1      Ninguno      Si logro              55        Contento
##   c.InsertaImagen RedimensionaEditor d.RedimensionaEditor
## 1     Indiferente           Si logro                   60
##   e.RedimensionaEditor c.RedimensionaEditor ConsultaCalificaciones
## 1             Contento          Indiferente               Si logro
##   d.ConsultaCalificaciones e.ConsultaCalificaciones
## 1                       50                 Contento
##   c.ConsultaCalificaciones  X X.1
## 1                  Ninguno NA  NA
# Se exploran las últimas 5 observaciones
#tail(Obs.Campo,2)

Los gráficos

Se utilizará el diagrama de cajas y bigotes para explorar los resultados del trabajo de campo combinando las variables. Explicación del diagrama de cajas y bigotes https://en.wikipedia.org/wiki/Box_plot.

# Se carga el paquete para generar las grAfica
library("ggplot2") 

Variaciones del formato de la gráfica

## Cambios de formato tomados de la siguiente URL
## http://www.sthda.com/english/wiki/ggplot2-box-plot-quick-start-guide-r-software-and-data-visualization

p <- ggplot(Obs.Campo, aes(x=Universidad, y=d.ingreso)) + 
  geom_boxplot()
p

# Rotate the box plot
p + coord_flip()

# Notched box plot
ggplot(Obs.Campo, aes(x=Universidad, y=d.ingreso)) + 
  geom_boxplot(notch=TRUE)

# Change outlier, color, shape and size
ggplot(Obs.Campo, aes(x=Universidad, y=d.ingreso)) + 
  geom_boxplot(outlier.colour="red", outlier.shape=8,
               outlier.size=4)

ggplot(Obs.Campo, aes(x=Universidad, y=d.ingreso)) + 
  geom_boxplot(outlier.colour="black", outlier.shape=16,
               outlier.size=2, notch=FALSE)

# adiciona el promedio
p + stat_summary(fun.y=mean, geom="point", shape=23, size=1)

# Box plot with dot plot
p + geom_dotplot(binaxis='y', stackdir='center', dotsize=0.5)

# Box plot with jittered points
# 0.2 : degree of jitter in x direction
p + geom_jitter(shape=16, position=position_jitter(0.2))

# Change box plot line colors by groups
p<-ggplot(Obs.Campo, aes(x=Universidad, y=d.ingreso, color=Universidad)) +
  geom_boxplot()
p

p + scale_color_grey() + theme_classic()

summary(Obs.Campo$NEAE)
## DISCAPACIDAD AUDITIVA DISCAPACIDAD ORGÁNICA   DISCAPACIDAD VISUAL 
##                     4                     1                     1 
##        ingreso tardio        Ingreso tardio               NINGUNA 
##                     2                     7                   183
str(Obs.Campo$Genero)
##  Factor w/ 2 levels "h","m": 2 2 2 2 2 2 1 2 1 2 ...
p<-ggplot(Obs.Campo, aes(x=Universidad, y=d.ingreso, fill=Genero)) +
  geom_boxplot()
p

str(Obs.Campo$NEAE)
##  Factor w/ 6 levels "DISCAPACIDAD AUDITIVA",..: 6 6 6 6 6 2 6 6 6 6 ...
p<-ggplot(Obs.Campo, aes(x=Universidad, y=d.ingreso, fill=NEAE)) +
  geom_boxplot()
p

str(Obs.Campo$TA)
##  Factor w/ 3 levels "centro de relevo",..: 3 3 3 3 3 3 3 3 3 3 ...
p<-ggplot(Obs.Campo, aes(x=Universidad, y=d.ingreso, fill=TA)) +
  geom_boxplot()
p

str(Obs.Campo$e.ingreso)
##  Factor w/ 5 levels "Contento","Enojado",..: 1 1 1 1 1 1 1 1 3 1 ...
p<-ggplot(Obs.Campo, aes(x=Universidad, y=d.ingreso, fill=e.ingreso)) +
  geom_boxplot()
p

p + theme(legend.position="top")

p + theme(legend.position="bottom")

p + theme(legend.position="none") # Remove legend