library("MASS")
library("tidyverse")
## Loading tidyverse: ggplot2
## Loading tidyverse: tibble
## Loading tidyverse: tidyr
## Loading tidyverse: readr
## Loading tidyverse: purrr
## Loading tidyverse: dplyr
## Conflicts with tidy packages ----------------------------------------------
## filter(): dplyr, stats
## lag():    dplyr, stats
## select(): dplyr, MASS
segreg = read.csv("data/output/2014-15-variables-escolares-euskadi.csv")

Análisis para conocer los datos

Este documento es un ejemplo de los primeros tanteos para acercarse a entender los datos que hemos extraído para el ejercicio 3. Educación pública-privada: abriendo datos abiertos.

Partimos de un archivo con 28 variables y rnrow(segreg) zonas escolares.

Las primeras zonas escolares
zona_id zona provincia alum_bec_mat_escolar alum_bec_comedor alum_mat_escolar_total alum_comedor_total perc_material_m15 perc_comedor_m16 perc_bec_mat_escolar_pub perc_bec_mat_escolar_priv dif_perc_bec_mat_escolar_dif perc_bec_comedor_pub perc_bec_comedor_priv dif_perc_bec_comedor total_alumnado perc_alum_ext_pub perc_alum_ext_priv perc_alum_ext_todos indice_desigualdad alum_ext_total alum_ext_pub alum_ext_kristau_eskola alum_ext_partaide alum_ext_otros_priv perc_reparto_alum_ext_pub perc_reparto_alum_ext_priv municipios_barrios
111 Amurrio araba 1031 557 2351 2219 44 25 48 35 13 33 14 19 1467 8.3 4.3 6.7 1.9 98 73 15 10 NA 74.5 25.5 Aiara, Amurrio, Artziniega, Okondo, Orduña
112 Llodio araba 1246 594 3349 2777 37 21 38 35 3 26 15 11 1971 7.5 5.1 6.4 1.5 126 80 44 2 NA 63.5 36.5 Llodio, Orozko
121 Vitoria-Oeste araba 4696 1966 10802 10050 43 20 44 43 1 25 7 18 7032 11.3 1.8 8.2 6.3 578 537 36 NA 5 92.9 7.1 Gasteizk, Zigoitia, Zuia
122 Vitoria-Norte araba 3824 1732 8839 7408 43 23 44 41 3 31 6 25 5002 16.4 11.1 14.6 1.5 731 545 186 NA NA 74.6 25.4 Arrazua, Gasteiz
123 Vitoria-Sureste araba 6878 3027 22585 17588 31 17 46 19 27 35 5 30 12489 21.2 4.1 10.6 5.2 1330 1016 310 2 2 76.4 23.6 Alegria-Dulantzi, Gasteiz, Legutiano, Urkabustaiz

Primeros tanteos

Explorar cantidad de zonas, zonas por provincia, alumnado en cada zona, cómo representar el histograma de una variable.

# previsualizando los datos

# alumnos por provincia, número de alumnos por zona y % extanjeros en privada
# ggplot(data = segreglimpio) + 
#   geom_point(mapping = aes(x = total_alumnado, y = perc_alum_ext_priv)) + 
#   facet_wrap(~ provincia, nrow = 1)

# cantidad de zonas escolares por provincia
ggplot(data = segreglimpio) + 
  geom_bar(mapping = aes(x = provincia)) +
  labs(title = "cantidad de zonas por provincia")

#cantidad de alumnos por provincia
ggplot(segreglimpio) +
  geom_bar(stat='identity', aes(x = provincia, y = total_alumnado, fill=provincia )) +
  labs(x = "provincia", y = "alumnos") +
  labs(title = "cantidad de alumnos por provincia")

#cantidad de alumnos por zona
ggplot(segreglimpio) +
  geom_bar(stat='identity', aes(x = reorder(zona, total_alumnado), y = total_alumnado, fill=provincia )) +
  labs(x = "zona", y = "alumnos") +
  labs(title = "cantidad de alumnos por zona") +
  coord_flip()

# medias de % de extranjeros 
# ggplot(data = segreglimpio) + 
#   stat_summary(
#     mapping = aes(x = provincia, y = perc_alum_ext_pub),
#     fun.ymin = min,
#     fun.ymax = max,
#     fun.y = median
#   )
# ggplot(data = segreglimpio, mapping = aes(x = provincia, y = perc_alum_ext_pub)) + 
#   geom_boxplot()

# histograma
ggplot(data = segreglimpio) +
  geom_histogram(mapping = aes(x = perc_alum_ext_pub), binwidth = 1) +
  labs(title = "Histograma para una variable: porcentaje de alumnado extranjero en red pública")

# ggplot(segreglimpio) +
#   geom_density(aes(perc_alum_ext_pub, color=provincia)) + 
#   geom_density(aes(perc_alum_ext_priv, color=provincia)) 

Ahora vamos a cambiar el formato en que vienen los datos para poder realizar otras operaciones. usaremos melt de la librería reshape.

require(reshape)
## Loading required package: reshape
## 
## Attaching package: 'reshape'
## The following object is masked from 'package:dplyr':
## 
##     rename
## The following objects are masked from 'package:tidyr':
## 
##     expand, smiths
# convierte los datos a dos columnas: nombre de variable y valor
segregprepara <-segreglimpio
#se renombran los nombres de las variables para simplificar
colnames(segregprepara) = c("material_pub","material_priv","comedor_pub","comedor_priv","extran_pub","extran_priv","zona","provincia","alumnado")
segregm <- melt(segregprepara[,-9])
## Using zona, provincia as id variables
knitr::kable(
  segregm[c(1:2),],
  caption = "Primeras líneas del data frame"
)
Primeras líneas del data frame
zona provincia variable value
Amurrio araba material_pub 48
Llodio araba material_pub 38

Las visualizaciones muestras las variables: cada punto es un valor de una variable de una zona escolar.

ggplot(segregm) + 
  geom_point(mapping = aes(x = variable, y = value, colour=provincia), position = "jitter", alpha = 8/10, size = 2) + 
  labs(y = "porcentaje", x = "variables") +
  coord_cartesian(ylim = c(0, 70)) + scale_y_continuous(breaks=seq(0,100,10))