require(dplyr)
require(tidyr)
require(ggplot2)
require(DT)
require(pander)
require(ggthemes)
library(plotly)
#icfes <- read.csv(file = "icfes162.csv", header = TRUE, sep = "|",
# encoding = "UTF-8")
#save(icfes, file = "Icfes162.RData")
load("Icfes162.RData")
icfes162 <- icfes %>%
select(-c(1, 2, 6, 17, 19, 21, 23, 24, 36,39, 41, 43:46, 63))
head(icfes162, n = 5)
## ESTU_ESTUDIANTE ESTU_EDAD ESTU_TIPO_DOCUMENTO ESTU_GENERO
## 1 ESTUDIANTE 18 CC M
## 2 ESTUDIANTE 16 TI M
## 3 INDIVIDUAL 19 CC M
## 4 ESTUDIANTE 17 TI M
## 5 ESTUDIANTE 17 TI M
## ESTU_FECHA_NACIMIENTO ESTU_ETNIA ESTU_LIMITA_MOTRIZ
## 1 25/03/1998 NA
## 2 22/12/1999 NA
## 3 29/10/1997 NA
## 4 04/05/1999 NA
## 5 20/08/1999 NA
## ESTU_LIMITA_INVIDENTE ESTU_LIMITA_CONDICIONESPECIAL ESTU_LIMITA_SORDO
## 1
## 2
## 3
## 4
## 5
## ESTU_LIMITA_SDOWN ESTU_LIMITA_AUTISMO ESTU_AREA_RESIDE ESTU_RESIDE_MCPIO
## 1 R LA ESTRELLA
## 2 R LA ESTRELLA
## 3 U BOGOTÁ D.C.
## 4 R ENVIGADO
## 5 R LA ESTRELLA
## ESTU_RESIDE_DEPTO ESTU_ZONA_RESIDE
## 1 ANTIOQUIA 10
## 2 ANTIOQUIA 10
## 3 BOGOTA 5
## 4 ANTIOQUIA 10
## 5 ANTIOQUIA 10
## COLE_NOMBRE_SEDE COLE_JORNADA
## 1 COLEGIO DIVINO SALVADOR( ANTES SEMINARIO DIVINO SALVADOR) C
## 2 COLEGIO DIVINO SALVADOR( ANTES SEMINARIO DIVINO SALVADOR) C
## 3
## 4 COLEGIO DIVINO SALVADOR( ANTES SEMINARIO DIVINO SALVADOR) C
## 5 COLEGIO DIVINO SALVADOR( ANTES SEMINARIO DIVINO SALVADOR) C
## COLE_GENERO COLE_CARACTER COLE_NATURALEZA COLE_CALENDARIO
## 1 MIXTO ACADÉMICO NO OFICIAL A
## 2 MIXTO ACADÉMICO NO OFICIAL A
## 3 OTRO
## 4 MIXTO ACADÉMICO NO OFICIAL A
## 5 MIXTO ACADÉMICO NO OFICIAL A
## COLE_AREA_UBICACION ESTU_ANO_TERMINO_BACHILL ESTU_MES_TERMINO_BACHILL
## 1 U NA NA
## 2 U NA NA
## 3 2015 11
## 4 U NA NA
## 5 U NA NA
## COLE_VALOR_PENSION ESTU_VECES_ESTADO ESTU_MCPIO_PRESENTACION
## 1 5 1 LA ESTRELLA
## 2 5 1 LA ESTRELLA
## 3 NA NA BOGOTÁ D.C.
## 4 5 1 ENVIGADO
## 5 5 1 LA ESTRELLA
## ESTU_DEPTO_PRESENTACION ESTU_TRABAJA ESTU_PRIVADO_LIBERTAD
## 1 ANTIOQUIA 1 N
## 2 ANTIOQUIA 1 N
## 3 BOGOTA NA N
## 4 ANTIOQUIA 1 N
## 5 ANTIOQUIA 1 N
## FAMI_NUM_HERMANOS FAMI_ESTRATO_VIVIENDA FAMI_NIVEL_SISBEN
## 1 1 3 5
## 2 1 3 5
## 3 0 3 5
## 4 2 5 5
## 5 1 3 5
## FAMI_PERSONAS_HOGAR FAMI_CUARTOS_HOGAR FAMI_PISOSHOGAR FAMI_DVD
## 1 3 3 4 N
## 2 4 3 4 S
## 3 3 3 4 S
## 4 3 3 4 S
## 5 4 4 4 S
## FAMI_TELEFONO_FIJO FAMI_INTERNET FAMI_SERVICIO_TELEVISION
## 1 S S S
## 2 S S S
## 3 S N S
## 4 S S S
## 5 S S S
## FAMI_COMPUTADOR FAMI_LAVADORA FAMI_MICROONDAS FAMI_HORNO FAMI_AUTOMOVIL
## 1 S S S S N
## 2 S S S S S
## 3 S S S N N
## 4 S S N S S
## 5 S S S S S
## ESTU_NUMERO_LIBROS ESTU_RECIBE_SALARIO PUNT_LECTURA_CRITICA
## 1 11 A 25 LIBROS 66
## 2 11 A 25 LIBROS 60
## 3 0 A 10 LIBROS 45
## 4 26 A 100 LIBROS 66
## 5 26 A 100 LIBROS 69
## PERCENTIL_LECTURA_CRITICA DESEMP_LECTURA_CRITICA PUNT_MATEMATICAS
## 1 92 4 64
## 2 76 3 58
## 3 25 2 40
## 4 92 4 57
## 5 96 4 56
## PERCENTIL_MATEMATICAS DESEMP_MATEMATICAS PUNT_C_NATURALES
## 1 86 3 63
## 2 73 3 57
## 3 19 2 36
## 4 69 3 67
## 5 67 3 61
## PERCENTIL_C_NATURALES DESEMP_C_NATURALES PUNT_SOCIALES_CIUDADANAS
## 1 85 3 63
## 2 69 3 51
## 3 5 1 36
## 4 94 3 65
## 5 82 3 61
## PERCENTIL_SOCIALES_CIUDADANAS DESEMP_SOCIALES_CIUDADANAS PUNT_INGLES
## 1 88 3 51
## 2 53 2 67
## 3 9 1 0
## 4 91 3 63
## 5 83 3 70
## PERCENTIL_INGLES DESEMP_INGLES PUNT_GLOBAL PERCENTIL_GLOBAL
## 1 50 A1 315 88
## 2 89 A2 287 73
## 3 1 A- 181 5
## 4 84 A2 320 90
## 5 92 B1 313 87
g <- ggplot(aes(x = ESTU_TIPO_DOCUMENTO), data = icfes162) +
geom_bar(aes(fill = ESTU_GENERO), na.rm = TRUE) +
labs(x = "Tipo de documento de identidad",
y = "Frecuencia",
title = "Número de registros por TI y género",
fill = "Género")
g
También es posible observar lo mismo del gráfico pero en forma de tabla:
## # A tibble: 14 x 3
## # Groups: ESTU_TIPO_DOCUMENTO [?]
## ESTU_TIPO_DOCUMENTO ESTU_GENERO count
## <fctr> <fctr> <int>
## 1 CC 1
## 2 CC F 66529
## 3 CC M 65267
## 4 CE F 239
## 5 CE M 250
## 6 CR F 6035
## 7 CR M 5463
## 8 PC F 11
## 9 PC M 13
## 10 PE F 47
## 11 PE M 45
## 12 PV F 2
## 13 TI F 255516
## 14 TI M 206564
De una forma más organizada, haciendo uso de los paquetes pander
y DT
:
tabla <- icfes162 %>%
group_by(ESTU_TIPO_DOCUMENTO, ESTU_GENERO, FAMI_INTERNET) %>%
summarise(count=n())
names(tabla) <- c("Tipo de documento", "Género", "Frecuencaia", "Internet")
Con pander
:
pander(tabla)
Tipo de documento | Género | Frecuencaia | Internet |
---|---|---|---|
CC | S | 1 | |
CC | F | 848 | |
CC | F | N | 39642 |
CC | F | S | 26039 |
CC | M | 2665 | |
CC | M | N | 34921 |
CC | M | S | 27681 |
CE | F | 3 | |
CE | F | N | 89 |
CE | F | S | 147 |
CE | M | 9 | |
CE | M | N | 83 |
CE | M | S | 158 |
CR | F | 32 | |
CR | F | N | 3539 |
CR | F | S | 2464 |
CR | M | 44 | |
CR | M | N | 3212 |
CR | M | S | 2207 |
PC | F | N | 2 |
PC | F | S | 9 |
PC | M | S | 13 |
PE | F | 2 | |
PE | F | N | 6 |
PE | F | S | 39 |
PE | M | 1 | |
PE | M | N | 8 |
PE | M | S | 36 |
PV | F | N | 1 |
PV | F | S | 1 |
TI | F | 836 | |
TI | F | N | 118141 |
TI | F | S | 136539 |
TI | M | 806 | |
TI | M | N | 87127 |
TI | M | S | 118631 |
Con DT
:
datatable(tabla)
g <- ggplot(aes(x = ESTU_EDAD), data = icfes162) +
geom_histogram(binwidth = 0.55, col = "green", alpha = 0.3) +
labs(x = "Edad",
y = "Número de registros",
title = "Histograma de edad") +
theme_hc(bgcolor = "darkunica")
g