Resultados de encuesta

Base de datos

¿Cómo importar datos en R?

  • read.csv(): función que permite leer datos en formato csv (valores separados por comas). Nota: en este formato está el resultado de la encuesta.
  • Explorar las siguientes funciones:
    • read.csv2()
    • read.table()

Análisis descriptivo con R

Funciones de uso común:

  • mean(): función que permite obtener la media.
  • median(): función que permite obtener la mediana.
  • mode(): función que permite obtener la moda.
  • sd: función que permite obtener la desviación estándar.
  • var(): función que permite obtener la varianza.
  • min(): función que permite obtener el valor mínimo.
  • max(): función que permite obtener el valor máximo.
  • range(): función que permite obtener el rango.
  • quantile(): función que permite obtener cuartiles, deciles y percentiles.
  • IQR(): función que permite obtener el rango intercuartílico.
  • table(): función que permite obtener frecuencias absolutas.
  • prop.table(): función que permite obtener frecuencias relativas.
  • summary(): función que permite obtener un resumen numérico inicial de los datos.

Tarea:

Análisis gráfico con R

Funciones de uso común:

  • Gráficos para variables cuantitativas:
    • hist(): función que permite construir histogramas.
    • density(): función que permite obtener densidades.
    • boxplot(): función que permite construir diagramas de cajas y bigotes.
    • plot(): función genérica que permite construir diagramas de dispersión (X vs Y).
  • Gráficos para variables cualitativas:
    • barplot: función que permite construir diagrama de barras.
    • pie(): función que permite construir diagrama de sectores.

Tipos de variable

str(encuesta)
## 'data.frame':    33 obs. of  17 variables:
##  $ Color         : Factor w/ 8 levels "Amarillo","Azul",..: 2 2 2 6 1 7 4 8 7 2 ...
##  $ Vichada       : Factor w/ 4 levels "Florencia","Inírida",..: 4 3 3 3 4 4 1 1 4 4 ...
##  $ Redes         : int  4 1 3 2 6 1 3 3 4 3 ...
##  $ Promedio      : num  4.2 3.8 3.8 4.7 3.6 3.4 2.9 3.5 3.5 4 ...
##  $ Horas_acad    : num  48 10 28 20 40 20 4 10 10 11 ...
##  $ Hojarasca     : Factor w/ 5 levels "","FGL","GGM",..: 5 5 3 1 3 5 4 3 5 5 ...
##  $ Horas_dormir  : int  49 60 24 48 42 42 40 35 38 36 ...
##  $ Matematica    : num  3.5 5 5 4.5 4.7 4 3.8 5 4.8 5 ...
##  $ PAPA          : num  3.9 3.7 3.9 4.7 3.7 3.4 2.74 3.4 3.3 3.8 ...
##  $ Nicaragua     : Factor w/ 4 levels "","Managua","S. Domingo",..: 3 3 2 1 3 2 2 1 2 3 ...
##  $ Horas_internet: num  28 1 26 12 40 5 0.5 7 11 36 ...
##  $ Casa_univer   : int  7 45 80 30 40 20 90 22 15 45 ...
##  $ Transporte    : Factor w/ 4 levels "Bicicleta","Moto",..: 3 4 4 4 4 1 4 1 3 1 ...
##  $ PAPA2         : num  3.6 3.5 4 3.7 3.5 3.4 3.6 4 3.8 3.7 ...
##  $ Office        : num  3 3.5 3 3.5 3 4 2 3 2.5 2.5 ...
##  $ Trabajo       : Factor w/ 2 levels "No","Si": 2 1 2 2 1 2 2 1 1 2 ...
##  $ Carrera       : Factor w/ 2 levels "No","Si": 1 1 2 2 1 2 2 2 1 2 ...

Variables cualitativas

Frecuencia absoluta y relativa

¿Cuántos estudiantes poseen trabajado remunerado al momento de responder la encuesta?

table(encuesta$Trabajo) # f.absoluta
## 
## No Si 
## 13 20
prop.table(table(encuesta$Trabajo)) # f. relativa
## 
##        No        Si 
## 0.3939394 0.6060606
prop.table(table(encuesta$Trabajo))*100 # porcentual
## 
##       No       Si 
## 39.39394 60.60606
barplot(table(encuesta$Trabajo),
        main = "F. Absoluta de trabajo remunerado",
        xlab = "Respuesta", ylab = "Frecuencia", col = "blue")

pie(table(encuesta$Trabajo),
    main = "Diagrama de sectores para trabajo remunerado",
    col = c("red", "blue"))

¿Cuál es el medio de transporte más utilizado por los estudiantes para dirigirse a la universidad?

table(encuesta$Transporte)
## 
## Bicicleta      Moto      Otro    Urbano 
##         6         2         7        18
prop.table(table(encuesta$Transporte))
## 
##  Bicicleta       Moto       Otro     Urbano 
## 0.18181818 0.06060606 0.21212121 0.54545455
barplot(prop.table(table(encuesta$Transporte)),
        main = "Medio de transporte de mayor uso",
        xlab = "Transporte", ylab = "Frecuencia relativa", col = "blue")

¿Cuál es el medio de transporte de mayor uso en estudiantes que poseen trabajo remunerado?

table(encuesta$Trabajo, encuesta$Transporte)
##     
##      Bicicleta Moto Otro Urbano
##   No         2    0    2      9
##   Si         4    2    5      9
prop.table(table(encuesta$Trabajo, encuesta$Transporte))
##     
##       Bicicleta       Moto       Otro     Urbano
##   No 0.06060606 0.00000000 0.06060606 0.27272727
##   Si 0.12121212 0.06060606 0.15151515 0.27272727
frecuencia <- table(encuesta$Trabajo, encuesta$Transporte)
barplot(frecuencia, beside = TRUE,
        main = "Medio de transporte de mayor uso vs trabajo remunerado",
        xlab = "Transporte", ylab = "F. Absoluta",
        col = c("red", "blue"))
legend(x = 3, y = 9, c("No","Sí"), fill = c("red", "blue"))

barplot(t(frecuencia), beside = TRUE,
        main = "Medio de transporte de mayor uso vs trabajo remunerado",
        xlab = "Trabajo remunerado", ylab = "F. Absoluta",
        col = c("red", "blue", "green3", "magenta4"))
legend(x = 1, y = 9, c("Bicicleta","Moto", "Otro", "Urbano"),
       fill = c("red", "blue", "green3", "magenta4"))

Variables cuantitativas

Media, varianza y desviación estándar del PAPA en estudiantes de Bioestadística 1:

mean(encuesta$PAPA)
## [1] 3.543636
var(encuesta$PAPA)
## [1] 0.1354614
sd(encuesta$PAPA)
## [1] 0.3680508

Cuartiles del PAPA:

quantile(encuesta$PAPA)
##   0%  25%  50%  75% 100% 
## 2.74 3.30 3.50 3.80 4.70

\[Q_{k}=\frac{k(n+1)}{4}\]

\[Q_{3}=\frac{3(33+1)}{4} = 25.5\]

# Cuartiles de forma manual
n <- 33
q3 <- (3*(33+1))/4
q3
## [1] 25.5
# Datos ordenados
papa.ordenado <- sort(encuesta$PAPA)
papa.ordenado
##  [1] 2.74 3.00 3.10 3.10 3.10 3.20 3.30 3.30 3.30 3.40 3.40 3.40 3.40 3.40
## [15] 3.40 3.50 3.50 3.50 3.70 3.70 3.70 3.70 3.70 3.80 3.80 3.80 3.80 3.80
## [29] 3.90 3.90 3.90 4.00 4.70
papa.ordenado[25]
## [1] 3.8
papa.ordenado[26]
## [1] 3.8

Deciles del PAPA:

quantile(encuesta$PAPA, probs = seq(0, 1, 0.10))
##   0%  10%  20%  30%  40%  50%  60%  70%  80%  90% 100% 
## 2.74 3.10 3.30 3.40 3.40 3.50 3.70 3.74 3.80 3.90 4.70

Percentiles del PAPA:

quantile(encuesta$PAPA, probs = seq(0, 1, 0.01))
##     0%     1%     2%     3%     4%     5%     6%     7%     8%     9% 
## 2.7400 2.8232 2.9064 2.9896 3.0280 3.0600 3.0920 3.1000 3.1000 3.1000 
##    10%    11%    12%    13%    14%    15%    16%    17%    18%    19% 
## 3.1000 3.1000 3.1000 3.1160 3.1480 3.1800 3.2120 3.2440 3.2760 3.3000 
##    20%    21%    22%    23%    24%    25%    26%    27%    28%    29% 
## 3.3000 3.3000 3.3000 3.3000 3.3000 3.3000 3.3320 3.3640 3.3960 3.4000 
##    30%    31%    32%    33%    34%    35%    36%    37%    38%    39% 
## 3.4000 3.4000 3.4000 3.4000 3.4000 3.4000 3.4000 3.4000 3.4000 3.4000 
##    40%    41%    42%    43%    44%    45%    46%    47%    48%    49% 
## 3.4000 3.4000 3.4000 3.4000 3.4080 3.4400 3.4720 3.5000 3.5000 3.5000 
##    50%    51%    52%    53%    54%    55%    56%    57%    58%    59% 
## 3.5000 3.5000 3.5000 3.5000 3.5560 3.6200 3.6840 3.7000 3.7000 3.7000 
##    60%    61%    62%    63%    64%    65%    66%    67%    68%    69% 
## 3.7000 3.7000 3.7000 3.7000 3.7000 3.7000 3.7000 3.7000 3.7000 3.7080 
##    70%    71%    72%    73%    74%    75%    76%    77%    78%    79% 
## 3.7400 3.7720 3.8000 3.8000 3.8000 3.8000 3.8000 3.8000 3.8000 3.8000 
##    80%    81%    82%    83%    84%    85%    86%    87%    88%    89% 
## 3.8000 3.8000 3.8000 3.8000 3.8000 3.8200 3.8520 3.8840 3.9000 3.9000 
##    90%    91%    92%    93%    94%    95%    96%    97%    98%    99% 
## 3.9000 3.9000 3.9000 3.9000 3.9080 3.9400 3.9720 4.0280 4.2520 4.4760 
##   100% 
## 4.7000

Gráficos

Histogramas y densidades

Distribución del PAPA:

hist(encuesta$PAPA)

Histograma mejorado:

hist(encuesta$PAPA,
     col = "dodgerblue4",
     main = "Distribución del PAPA\n(Promedio Aritmético Ponderado Acumulado)",
     ylab = "Frecuencia",
     xlab = "Promedio Aritmético Ponderado Acumulado (PAPA)",
     xlim = c(2.5, 5),
     ylim = c(0, 12))
grid()

Histograma mejorado con densidad:

hist(encuesta$PAPA, 
     col = "dodgerblue4",
     las = 1,
     main = "Distribución del PAPA\n(Promedio Aritmético Ponderado Acumulado)",
     ylab = "Densidad",
     xlab = "Promedio Aritmético Ponderado Acumulado (PAPA)",
     xlim = c(2.5, 5),
     ylim = c(0, 2),
     freq = FALSE,
     xaxt = "n")
axis(1, at = seq(2.6, 4.8, 0.1))
lines(density(encuesta$PAPA), 
      col = "orangered",
      lwd = 2)
abline(v = mean(encuesta$PAPA), lwd = 2, lty = 2, col = "darkred")
grid()

Coeficiente de asimetría:

library(moments)
skewness(encuesta$PAPA)
## [1] 0.53265

Coeficiente de curtosis:

library(moments)
kurtosis(encuesta$PAPA)
## [1] 4.482118

Diagramas de cajas

Boxplot (Diagrama de cajas y bigotes):

Boxplot inicial:

boxplot(encuesta$PAPA)

Boxplot mejordo:

boxplot(encuesta$PAPA,
        main = "Boxplot del PAPA",
        xlab = "",
        ylab = "PAPA",
        col = "forestgreen")
abline(h = mean(encuesta$PAPA), col = "navy", lwd = 2, lty = 2)

Boxplot comparativo (trabajo remunerado):

boxplot(encuesta$PAPA ~ encuesta$Trabajo,
        main = "Boxplot del PAPA",
        xlab = "Trabajo remunerado",
        ylab = "PAPA",
        col = "forestgreen")

Boxplot comparativo (carrera profesional como primera opción):

boxplot(encuesta$PAPA ~ encuesta$Carrera,
        main = "Boxplot del PAPA",
        xlab = "Carrera profesional",
        ylab = "PAPA",
        col = "blue")

Diagramas de dispersión

¿Es posible plantear que existe algún tipo de relación entre el PAPA y las horas que dedica el estudiante a actividades académicas?

  • Gráfico incial:
plot(x = encuesta$Horas_acad,
     y = encuesta$PAPA)
abline(lm(encuesta$PAPA ~ encuesta$Horas_acad))

  • Gráfico mejorado:
plot(x = encuesta$Horas_acad,
     y = encuesta$PAPA,
     col = "red",
     pch = 19,
     xlab = "Horas de dedicación académica",
     ylab = "PAPA",
     main = "Relación de actividad académica vs PAPA")
abline(lm(encuesta$PAPA ~ encuesta$Horas_acad), lwd = 2, col = "blue")

  • Gráfico con biblioteca ggplot2:
# Debe tener instalada la biblioteca ggplot2
library(ggplot2)

ggplot(data = encuesta, aes(x = Horas_acad, y = PAPA)) +
  geom_point()

  • Gráfico mejorado con biblioteca ggplot2:
# Debe tener instalada la biblioteca ggplot2
library(ggplot2)

ggplot(data = encuesta, aes(x = Horas_acad, y = PAPA)) +
  geom_point() +
  geom_smooth(se = FALSE, color = "red") +
  geom_smooth(method = "lm", se = FALSE) +
  labs(x = "Horas de dedicación académica", y = "PAPA",
       title = "Relación de actividad académica vs PAPA",
       caption = "Línea azul: modelo lineal\nLínea roja: modelo no lineal")

Diagrama de barras en variable cuantitativa

promedios <- tapply(X = encuesta$Casa_univer, INDEX = encuesta$Transporte,
                    FUN = mean)
promedios
## Bicicleta      Moto      Otro    Urbano 
##  25.33333  40.00000  13.42857  47.22222
# Gráfico de barras para representar promedios
barplot(promedios,
        main = "Tiempo de llegada a la universidad vs medio de transporte",
        xlab = "Transporte", ylab = "Minutos",
        ylim = c(0, 50),
        col = c(2, 28, 5, 3))

# Gráfico de barras para representar promedios
barras <- barplot(promedios,
                  main = "Tiempo de llegada a la universidad vs medio de transporte",
                  xlab = "Transporte", ylab = "Minutos",
                  ylim = c(0, 55),
                  col = c(2, 28, 5, 3))
text(x = barras, y = promedios + 2, labels = round(promedios, digits = 1))

Resumen general

summary(encuesta)
##       Color          Vichada       Redes           Promedio  
##  Azul    :12   Florencia : 4   Min.   : 1.000   Min.   :2.9  
##  Morado  : 6   Inírida   : 2   1st Qu.: 3.000   1st Qu.:3.5  
##  Rojo    : 6   Mitú      :11   Median : 3.000   Median :3.7  
##  Verde   : 5   P. Carreño:16   Mean   : 3.394   Mean   :3.7  
##  Amarillo: 1                   3rd Qu.: 4.000   3rd Qu.:3.8  
##  Celeste : 1                   Max.   :10.000   Max.   :4.7  
##  (Other) : 2                                                 
##    Horas_acad              Hojarasca   Horas_dormir     Matematica   
##  Min.   : 1.00                  : 5   Min.   : 8.00   Min.   :2.100  
##  1st Qu.: 6.00   FGL            : 2   1st Qu.:36.00   1st Qu.:3.800  
##  Median :10.00   GGM            : 7   Median :42.00   Median :4.500  
##  Mean   :15.15   R. Pombo       : 5   Mean   :42.21   Mean   :4.285  
##  3rd Qu.:20.00   T. Carrasquilla:14   3rd Qu.:49.00   3rd Qu.:5.000  
##  Max.   :50.00                        Max.   :60.00   Max.   :5.000  
##                                                                      
##       PAPA            Nicaragua  Horas_internet   Casa_univer   
##  Min.   :2.740             : 6   Min.   : 0.50   Min.   : 7.00  
##  1st Qu.:3.300   Managua   :18   1st Qu.:10.00   1st Qu.:20.00  
##  Median :3.500   S. Domingo: 6   Median :15.00   Median :30.00  
##  Mean   :3.544   S. José   : 3   Mean   :20.62   Mean   :35.64  
##  3rd Qu.:3.800                   3rd Qu.:24.00   3rd Qu.:45.00  
##  Max.   :4.700                   Max.   :90.00   Max.   :90.00  
##                                                                 
##      Transporte     PAPA2           Office      Trabajo Carrera
##  Bicicleta: 6   Min.   :3.300   Min.   :1.000   No:13   No:18  
##  Moto     : 2   1st Qu.:3.500   1st Qu.:2.500   Si:20   Si:15  
##  Otro     : 7   Median :3.700   Median :3.000                  
##  Urbano   :18   Mean   :3.697   Mean   :3.015                  
##                 3rd Qu.:3.900   3rd Qu.:3.500                  
##                 Max.   :4.000   Max.   :4.500                  
## 

Tarea

  • Instalar las bibliotecas abordadas en clase.
  • Responder con gráficos a las siguientes consultas:
    • ¿Existe algún tipo de relación entre el PAPA y el número de redes sociales a las cuales está inscrito (a)?
    • ¿Existe algún tipo de relación entre el PAPA y las horas que dedica a dormir?