Vamos a analizar la base de datos del Ministerio de Educación sobre la población en el año 2025.
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.2.1 ✔ readr 2.2.0
## ✔ forcats 1.0.1 ✔ stringr 1.6.0
## ✔ ggplot2 4.0.3 ✔ tibble 3.3.1
## ✔ lubridate 1.9.5 ✔ tidyr 1.3.2
## ✔ purrr 1.2.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
base_educacion <- read_csv2("~/Documents/Facultad/Investigación Empírica/Trabajo Final/2025 Poblacion - agregada(in).csv"
)
## ℹ Using "','" as decimal and "'.'" as grouping mark. Use `read_delim()` for more control.
## Rows: 1217 Columns: 147── Column specification ────────────────────────────────────────────────────────
## Delimiter: ";"
## chr (4): provincia, departamento, sector, ambito
## dbl (142): Localizacion, PoblaciónIndigenaInicial, PoblaciónIndigenaPrimaria...
## lgl (1): IdiomasSecundariaChino
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
Ahora vamos a ver filtrar los datos que correspondan al nivel primario
names(base_educacion) |>
grep("Primaria", x = _, value = TRUE)
## [1] "PoblaciónIndigenaPrimaria"
## [2] "IdiomasPrimariaInglés"
## [3] "IdiomasPrimariaFrancés"
## [4] "IdiomasPrimariaPortugués"
## [5] "IdiomasPrimariaItaliano"
## [6] "IdiomasPrimariaAlemán"
## [7] "IdiomasPrimariaHebreo"
## [8] "IdiomasPrimariaLenguaindígena"
## [9] "IdiomasPrimariaLSA"
## [10] "IdiomasPrimariaChino"
## [11] "IdiomasPrimariaOtro"
## [12] "IdiomasPrimariaMásdeunIdioma"
## [13] "BoliviaPrimaria"
## [14] "BrasilPrimaria"
## [15] "ChilePrimaria"
## [16] "ColombiaPrimaria"
## [17] "EcuadorPrimaria"
## [18] "ParaguayPrimaria"
## [19] "PerúPrimaria"
## [20] "UruguayPrimaria"
## [21] "VenezuelaPrimaria"
## [22] "OtrospaísesdeAméricaPrimaria"
## [23] "EuropaPrimaria"
## [24] "AsiaPrimaria"
## [25] "ÁfricaPrimaria"
## [26] "OceaníaPrimaria"
## [27] "TenenciadecomputadoraPrimaria"
## [28] "AlumnosconPromociónasistidaacompañadaPrimaria"
## [29] "AlumnosenjornadacompletaPrimaria"
## [30] "AlumnosenjornadaextendidaPrimaria"
## [31] "TurnoMañanaPrimaria"
## [32] "TurnoIntermedioPrimaria"
## [33] "TurnoTardePrimaria"
## [34] "TurnoDoblePrimaria"
## [35] "DiscapacidadConapoyoestatalPrimaria"
## [36] "DiscapacidadConapoyoprivadoPrimaria"
## [37] "DiscapacidadSinapoyoPrimaria"
base_primaria <- base_educacion |>
select(provincia, departamento,sector, ambito, Localizacion, IdiomasPrimariaInglés, IdiomasPrimariaLenguaindígena) |>
rename(ingles = IdiomasPrimariaInglés,
lengua_indigena = IdiomasPrimariaLenguaindígena
)
Una vez que tenemos los datos de primaria, vamos a analizar aquellos lugares donde se estudia inglés y la lengua indígena.
base_primaria <- base_primaria |>
mutate(
tiene_ingles = !is.na(ingles),
tiene_lengua_indigena = !is.na(lengua_indigena)
)
glimpse(base_primaria)
## Rows: 1,217
## Columns: 9
## $ provincia <chr> "Buenos Aires", "Buenos Aires", "Buenos Aires", …
## $ departamento <chr> "25 DE MAYO", "25 DE MAYO", "25 DE MAYO", "9 DE …
## $ sector <chr> "Estatal", "Estatal", "Privado", "Estatal", "Est…
## $ ambito <chr> "Rural", "Urbano", "Urbano", "Rural", "Urbano", …
## $ Localizacion <dbl> 49, 43, 9, 49, 36, 8, 27, 18, 21, 13, 18, 11, 25…
## $ ingles <dbl> 325, 1260, 676, 397, 1811, 557, 97, 499, 128, 37…
## $ lengua_indigena <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
## $ tiene_ingles <lgl> TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, …
## $ tiene_lengua_indigena <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,…
base_primaria |>
count(tiene_ingles)
## # A tibble: 2 × 2
## tiene_ingles n
## <lgl> <int>
## 1 FALSE 105
## 2 TRUE 1112
base_primaria |>
count(tiene_lengua_indigena)
## # A tibble: 2 × 2
## tiene_lengua_indigena n
## <lgl> <int>
## 1 FALSE 1063
## 2 TRUE 154
Para este trabajo, nos vamos a quedar con la lengua índigena. Así, vamos a analizar por provincia y sus departamentos, cuánto se estudia esta lengua por sector urbano/rural.
base_provincia_ambito <- base_primaria |>
group_by(provincia, ambito) |>
summarise(
total_lengua_indigena = sum(lengua_indigena, na.rm = TRUE),
departamentos_con_oferta = sum(tiene_lengua_indigena),
total_departamentos = n(),
porcentaje_departamentos = departamentos_con_oferta / total_departamentos * 100,
.groups = "drop"
)
ggplot(base_provincia_ambito, aes(x = reorder(provincia, porcentaje_departamentos),
y = porcentaje_departamentos,
fill = ambito)) +
geom_col(position = "dodge") +
coord_flip() +
labs(title = "Enseñanza de lengua indígena en primaria por provincia y ámbito",
subtitle = "% de departamentos con oferta de lengua indígena",
x = "Provincia", y = "Porcentaje de departamentos", fill = "Ámbito") +
theme_minimal()
Ahora vamos a hacer lo mismo pero analizando si se enseña más la lengua en el sector privado o estatal.
base_provincia_sector <- base_primaria |>
group_by(provincia, sector) |>
summarise(
total_lengua_indigena = sum(lengua_indigena, na.rm = TRUE),
departamentos_con_oferta = sum(tiene_lengua_indigena),
total_departamentos = n(),
porcentaje_departamentos = departamentos_con_oferta / total_departamentos * 100,
.groups = "drop"
)
ggplot(base_provincia_sector, aes(x = reorder(provincia, porcentaje_departamentos),
y = porcentaje_departamentos,
fill = sector)) +
geom_col(position = "dodge") +
coord_flip() +
labs(title = "Enseñanza de lengua indígena en primaria por provincia y sector",
subtitle = "% de departamentos con oferta de lengua indígena",
x = "Provincia", y = "Porcentaje de departamentos", fill = "Sector") +
theme_minimal()
Es importante destacar que como hay una diferencia en la cantidad de observaciones entre la Base de Provincia por ámbito y la Base de Provincia por sector. Esto se debe a que hay una de las provincias que sólo es rural o urbano y no ambas.
base_primaria |>
distinct(provincia, ambito) |>
count(provincia) |>
filter(n < 2)
## # A tibble: 1 × 2
## provincia n
## <chr> <int>
## 1 Ciudad de Buenos Aires 1