library(readxl)
library(dplyr)
library(ggplot2)
library(tidyr)
library(forcats)
library(broom)
library(maps)Análisis Colfuturo
Introduction
This document analyzes data on Colfuturo beneficiaries and selected applicants between 2020 and 2025. The goal is to study the evolution of students over time, the destination universities, and the factors associated with the probability of becoming a beneficiary.
Libraries and Data Loading
df <- read_excel("Colfuturo_Seleccionados_2026-05-18 (1).xlsx")
str(df)tibble [9,318 × 14] (S3: tbl_df/tbl/data.frame)
$ Prom : num [1:9318] 2020 2022 2025 2022 2022 ...
$ Nombre : chr [1:9318] "Cristo 13 - -" "Sara Victoria <b>Abadía</b> Alvarado" "Álvaro Leonardo <b>Abadía</b> Rincón" "Iván Alberto <b>Abadía</b> Quintero" ...
$ Género : chr [1:9318] "Masculino" "Femenino" "Masculino" "Masculino" ...
$ Región Origen : chr [1:9318] "Chocó" "Bogotá" "Valle del Cauca" "Valle del Cauca" ...
$ Univ. Pregrado: chr [1:9318] "Universidad de Antioquía" "Universidad de los Andes" "Pontificia Universidad Javeriana (PUJ), Seccional Cali" "Universidad del Valle - UNIVALLE" ...
$ Pregrado : chr [1:9318] "Abogado" "Literata" "Médico" "Diseñador Gráfico" ...
$ Univ. Posgrado: chr [1:9318] "University of Essex" "New York University" "Universidad Nacional Autónoma de México - UNAM" "Universidad Iberoamericana - Ciudad de México - UIA" ...
$ País : chr [1:9318] "Reino Unido" "Estados Unidos" "México" "México" ...
$ Ciudad Destino: chr [1:9318] "Colchester" "Nueva York" "Ciudad de México" "Ciudad de México" ...
$ Tipo : chr [1:9318] "Maestría" "Maestría" "Especialización" "Doctorado" ...
$ Posgrado : chr [1:9318] "Political Economy" "Creative Writing In Spanish" "Ortopedia" "Communication" ...
$ Área : chr [1:9318] "Ciencias Políticas y Relaciones Internacionales" "Artes" "Ciencias de la Salud" "Ciencias Sociales" ...
$ Estado : chr [1:9318] "Beneficiario" "Beneficiario" "Seleccionado" "Beneficiario" ...
$ Tags : chr [1:9318] NA NA NA NA ...
# Remove HTML tags
df$Nombre <- gsub("<[^>]+>", "", df$Nombre)
# Dependent variable
df$y <- ifelse(df$Estado == "Beneficiario", 1, 0)
# Convert variables to factor
df$Estado <- as.factor(df$Estado)
df$País <- as.factor(df$País)
df$Tipo <- as.factor(df$Tipo)
df$Área <- as.factor(df$Área)Part 1 — Beneficiaries and Selected Applicants Over Time
Summary Table
resumen <- df %>%
group_by(Prom, Estado) %>%
summarise(N = n(), .groups = "drop")
resumen# A tibble: 12 × 3
Prom Estado N
<dbl> <fct> <int>
1 2020 Beneficiario 810
2 2020 Seleccionado 501
3 2021 Beneficiario 786
4 2021 Seleccionado 574
5 2022 Beneficiario 966
6 2022 Seleccionado 569
7 2023 Beneficiario 1179
8 2023 Seleccionado 683
9 2024 Beneficiario 1249
10 2024 Seleccionado 780
11 2025 Beneficiario 624
12 2025 Seleccionado 597
Line Chart
ggplot(resumen,
aes(x = Prom,
y = N,
color = Estado,
group = Estado)) +
geom_line(size = 1.2) +
geom_point(size = 3) +
labs(
title = "Beneficiaries and Selected Applicants by Year",
x = "Call (Convocatoria)",
y = "Number of people"
) +
theme_minimal()Bar Chart
ggplot(resumen,
aes(x = as.factor(Prom),
y = N,
fill = Estado)) +
geom_bar(stat = "identity") +
labs(
title = "Beneficiaries vs Selected Applicants",
x = "Year",
y = "Count"
) +
theme_minimal()Part 2 — Descriptive Analysis
Undergraduate Universities
top_pregrado <- df %>%
count(`Univ. Pregrado`, sort = TRUE)
head(top_pregrado, 15)# A tibble: 15 × 2
`Univ. Pregrado` n
<chr> <int>
1 Universidad de los Andes 1544
2 Universidad Nacional de Colombia - UNAL 1099
3 Pontificia Universidad Javeriana (PUJ) 724
4 Universidad del Rosario 438
5 Universidad Eafit 314
6 Universidad del Norte - UNINORTE 303
7 Universidad Industrial de Santander - UIS 251
8 Universidad de Antioquia (UA) 243
9 Universidad del Valle - UNIVALLE 230
10 Universidad de la Sabana 227
11 Universidad Externado de Colombia 206
12 Universidad Nacional de Colombia (UNAL), Sede Medellín 197
13 Universidad Pontificia Bolivariana - UPB 173
14 Universidad Icesi 129
15 Pontificia Universidad Javeriana (PUJ), Seccional Cali 115
top15_pregrado <- top_pregrado %>%
slice(1:15)
ggplot(top15_pregrado,
aes(x = reorder(`Univ. Pregrado`, n),
y = n)) +
geom_col(fill = "steelblue") +
coord_flip() +
labs(
title = "Top 15 Undergraduate Universities",
x = "",
y = "Count"
) +
theme_minimal()Graduate Universities
top_posgrado <- df %>%
count(`Univ. Posgrado`, sort = TRUE)
head(top_posgrado, 15)# A tibble: 15 × 2
`Univ. Posgrado` n
<chr> <int>
1 Politecnico Di Milano 248
2 The University of Queensland - UQ 221
3 London School of Economics and Political Science 212
4 Monash University 205
5 University College London 187
6 Columbia University In the City of New York 175
7 Technische Universität München - TUM 160
8 Harvard University 139
9 University College London - UCL 129
10 Politecnico Di Milano - Politécnico de Milán 123
11 London School of Economics and Political Science - LSE 118
12 New York University 111
13 Universidad Politécnica de Madrid - UPM 110
14 University of Technology - Sydney - UTS 109
15 University of Sussex 101
top15_posgrado <- top_posgrado %>%
slice(1:15)
ggplot(top15_posgrado,
aes(x = reorder(`Univ. Posgrado`, n),
y = n)) +
geom_col(fill = "darkred") +
coord_flip() +
labs(
title = "Top 15 Graduate Universities",
x = "",
y = "Count"
) +
theme_minimal()Destination Countries
top_paises <- df %>%
count(País, sort = TRUE)
head(top_paises, 15)# A tibble: 15 × 2
País n
<fct> <int>
1 Reino Unido 1902
2 Estados Unidos 1715
3 Australia 1011
4 España 962
5 Alemania 833
6 Francia 576
7 Italia 563
8 Países Bajos 488
9 Canadá 415
10 Suecia 146
11 Bélgica 107
12 México 103
13 Suiza 76
14 Brasil 75
15 Portugal 47
top15_paises <- top_paises %>%
slice(1:15)
ggplot(top15_paises,
aes(x = reorder(País, n),
y = n)) +
geom_col(fill = "darkgreen") +
coord_flip() +
labs(
title = "Top Destination Countries",
x = "",
y = "Count"
) +
theme_minimal()Part 3 — Map of Destination Countries
world <- map_data("world")
ggplot() +
geom_map(
data = world,
map = world,
aes(long, lat, map_id = region),
fill = "gray90",
color = "white"
) +
theme_void() +
labs(
title = "World Map of Destination Countries"
)Part 4 — Logit Model
Model Estimation
modelo_logit <- glm(
y ~ Género + Tipo + País + Área,
data = df,
family = binomial(link = "logit")
)
summary(modelo_logit)
Call:
glm(formula = y ~ Género + Tipo + País + Área, family = binomial(link = "logit"),
data = df)
Coefficients:
Estimate Std. Error
(Intercept) -4.379e-01 1.317e-01
GéneroMasculino 4.522e-02 4.632e-02
GéneroNo binario -1.461e+00 6.026e-01
TipoEspecialización 1.413e+00 2.749e-01
TipoMaestría 6.848e-01 7.209e-02
TipoMaestría Administración 1.664e+01 1.359e+02
TipoMaestría en Administración -1.648e+01 2.052e+02
PaísArgentina -3.377e-01 3.864e-01
PaísAustralia -4.441e-01 9.612e-02
PaísAustria 7.392e-01 4.550e-01
PaísBélgica 4.501e-01 2.183e-01
PaísBrasil 6.733e-01 2.587e-01
PaísBulgaria 1.617e+01 1.385e+03
PaísCanadá -3.129e-01 1.257e-01
PaísChequia 2.102e-02 8.336e-01
PaísChile 3.184e-03 3.897e-01
PaísChina -6.307e-02 7.297e-01
PaísColombia -1.617e+01 2.400e+03
PaísCorea del Sur -1.692e+01 2.400e+03
PaísCosta Rica -1.261e+00 8.437e-01
PaísCuba 1.622e+01 2.400e+03
PaísDinamarca 4.293e-01 3.651e-01
PaísDubái - Emiratos Árabes Unidos -1.678e+01 2.400e+03
PaísEcuador 1.664e+01 2.400e+03
PaísEgipto -1.673e+01 2.400e+03
PaísEmiratos Árabes Unidos 3.181e-01 2.403e+03
PaísEspaña 3.952e-01 1.033e-01
PaísEstados Unidos 3.434e-01 9.262e-02
PaísEstonia -3.958e-01 1.419e+00
PaísFinlandia -2.663e-01 3.896e-01
PaísFrancia 4.728e-01 1.188e-01
PaísGermany -1.678e+01 2.400e+03
PaísHolanda 1.626e+01 1.375e+03
PaísHong Kong -5.181e-02 1.422e+00
PaísHungría -5.258e-01 1.241e+00
PaísInglaterra 1.622e+01 2.400e+03
PaísIrlanda 3.260e-01 4.916e-01
PaísIslandia 1.371e-01 7.677e-01
PaísIsrael -1.547e+01 1.310e+03
PaísItalia 6.913e-01 1.213e-01
PaísJapón -2.149e+00 1.078e+00
PaísLuxemburgo 5.712e-01 1.257e+00
PaísMéxico -2.693e-01 2.796e-01
PaísNoruega 6.820e-01 6.943e-01
PaísNueva Zelanda -1.351e-01 3.233e-01
PaísPaíses Bajos 4.809e-02 1.181e-01
PaísPolonia 1.650e+01 2.400e+03
PaísPortugal 8.347e-01 3.372e-01
PaísPuerto Rico -1.665e+01 2.400e+03
PaísReino Unido 2.289e-01 8.787e-02
PaísRepública de Corea 1.603e+01 2.400e+03
PaísRepública de Singapur 1.582e+01 2.400e+03
PaísRusia 1.712e+01 2.400e+03
PaísSingapore 1.627e+01 2.400e+03
PaísSingapur -1.674e+01 1.369e+03
PaísSudáfrica -2.805e-01 1.418e+00
PaísSuecia -2.486e-02 1.818e-01
PaísSuiza -1.642e-01 2.460e-01
PaísThuwal Arabia Saudita -1.673e+01 2.400e+03
PaísUnited Kingdom 1.640e+01 2.400e+03
ÁreaArquitectura y Diseño 1.660e-01 1.227e-01
ÁreaArtes 1.036e-01 1.208e-01
ÁreaCiencias Agropecuarias y del Medio Ambiente -3.298e-02 1.191e-01
ÁreaCiencias Básicas -1.610e-01 1.124e-01
ÁreaCiencias de la Salud -1.819e-01 1.201e-01
ÁreaCiencias Políticas y Relaciones Internacionales 2.858e-01 1.219e-01
ÁreaCiencias Sociales 3.183e-01 1.068e-01
ÁreaDerecho 4.516e-01 1.202e-01
ÁreaEconomía 2.945e-01 1.636e-01
ÁreaEducación -1.135e-01 1.213e-01
ÁreaIngeniería -8.177e-02 9.403e-02
z value Pr(>|z|)
(Intercept) -3.325 0.000884 ***
GéneroMasculino 0.976 0.328944
GéneroNo binario -2.425 0.015317 *
TipoEspecialización 5.139 2.76e-07 ***
TipoMaestría 9.500 < 2e-16 ***
TipoMaestría Administración 0.122 0.902534
TipoMaestría en Administración -0.080 0.936012
PaísArgentina -0.874 0.382056
PaísAustralia -4.620 3.84e-06 ***
PaísAustria 1.625 0.104254
PaísBélgica 2.061 0.039256 *
PaísBrasil 2.603 0.009239 **
PaísBulgaria 0.012 0.990687
PaísCanadá -2.489 0.012800 *
PaísChequia 0.025 0.979882
PaísChile 0.008 0.993481
PaísChina -0.086 0.931124
PaísColombia -0.007 0.994622
PaísCorea del Sur -0.007 0.994375
PaísCosta Rica -1.494 0.135092
PaísCuba 0.007 0.994608
PaísDinamarca 1.176 0.239743
PaísDubái - Emiratos Árabes Unidos -0.007 0.994422
PaísEcuador 0.007 0.994467
PaísEgipto -0.007 0.994437
PaísEmiratos Árabes Unidos 0.000 0.999894
PaísEspaña 3.828 0.000129 ***
PaísEstados Unidos 3.707 0.000209 ***
PaísEstonia -0.279 0.780270
PaísFinlandia -0.684 0.494248
PaísFrancia 3.980 6.90e-05 ***
PaísGermany -0.007 0.994422
PaísHolanda 0.012 0.990564
PaísHong Kong -0.036 0.970928
PaísHungría -0.424 0.671760
PaísInglaterra 0.007 0.994608
PaísIrlanda 0.663 0.507195
PaísIslandia 0.179 0.858227
PaísIsrael -0.012 0.990582
PaísItalia 5.697 1.22e-08 ***
PaísJapón -1.994 0.046172 *
PaísLuxemburgo 0.454 0.649641
PaísMéxico -0.963 0.335411
PaísNoruega 0.982 0.325955
PaísNueva Zelanda -0.418 0.676067
PaísPaíses Bajos 0.407 0.683872
PaísPolonia 0.007 0.994513
PaísPortugal 2.476 0.013301 *
PaísPuerto Rico -0.007 0.994463
PaísReino Unido 2.605 0.009198 **
PaísRepública de Corea 0.007 0.994669
PaísRepública de Singapur 0.007 0.994739
PaísRusia 0.007 0.994307
PaísSingapore 0.007 0.994589
PaísSingapur -0.012 0.990247
PaísSudáfrica -0.198 0.843129
PaísSuecia -0.137 0.891251
PaísSuiza -0.668 0.504426
PaísThuwal Arabia Saudita -0.007 0.994437
PaísUnited Kingdom 0.007 0.994547
ÁreaArquitectura y Diseño 1.353 0.176070
ÁreaArtes 0.858 0.390963
ÁreaCiencias Agropecuarias y del Medio Ambiente -0.277 0.781753
ÁreaCiencias Básicas -1.432 0.152101
ÁreaCiencias de la Salud -1.515 0.129773
ÁreaCiencias Políticas y Relaciones Internacionales 2.344 0.019079 *
ÁreaCiencias Sociales 2.981 0.002873 **
ÁreaDerecho 3.758 0.000171 ***
ÁreaEconomía 1.800 0.071809 .
ÁreaEducación -0.935 0.349561
ÁreaIngeniería -0.870 0.384518
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 12521 on 9316 degrees of freedom
Residual deviance: 11465 on 9246 degrees of freedom
(1 observation deleted due to missingness)
AIC: 11607
Number of Fisher Scoring iterations: 15
exp(coef(modelo_logit)) (Intercept)
6.454154e-01
GéneroMasculino
1.046260e+00
GéneroNo binario
2.319692e-01
TipoEspecialización
4.108287e+00
TipoMaestría
1.983454e+00
TipoMaestría Administración
1.686337e+07
TipoMaestría en Administración
6.997585e-08
PaísArgentina
7.133894e-01
PaísAustralia
6.414006e-01
PaísAustria
2.094253e+00
PaísBélgica
1.568502e+00
PaísBrasil
1.960689e+00
PaísBulgaria
1.053511e+07
PaísCanadá
7.313307e-01
PaísChequia
1.021242e+00
PaísChile
1.003189e+00
PaísChina
9.388809e-01
PaísColombia
9.461695e-08
PaísCorea del Sur
4.499607e-08
PaísCosta Rica
2.834349e-01
PaísCuba
1.102247e+07
PaísDinamarca
1.536142e+00
PaísDubái - Emiratos Árabes Unidos
5.176762e-08
PaísEcuador
1.685969e+07
PaísEgipto
5.416240e-08
PaísEmiratos Árabes Unidos
1.374450e+00
PaísEspaña
1.484726e+00
PaísEstados Unidos
1.409700e+00
PaísEstonia
6.731115e-01
PaísFinlandia
7.662172e-01
PaísFrancia
1.604558e+00
PaísGermany
5.176762e-08
PaísHolanda
1.157507e+07
PaísHong Kong
9.495113e-01
PaísHungría
5.910877e-01
PaísInglaterra
1.102247e+07
PaísIrlanda
1.385473e+00
PaísIslandia
1.146988e+00
PaísIsrael
1.918997e-07
PaísItalia
1.996230e+00
PaísJapón
1.165560e-01
PaísLuxemburgo
1.770342e+00
PaísMéxico
7.639023e-01
PaísNoruega
1.977825e+00
PaísNueva Zelanda
8.736503e-01
PaísPaíses Bajos
1.049266e+00
PaísPolonia
1.466487e+07
PaísPortugal
2.304027e+00
PaísPuerto Rico
5.862829e-08
PaísReino Unido
1.257177e+00
PaísRepública de Corea
9.186698e+06
PaísRepública de Singapur
7.439355e+06
PaísRusia
2.722664e+07
PaísSingapore
1.168560e+07
PaísSingapur
5.374377e-08
PaísSudáfrica
7.553852e-01
PaísSuecia
9.754476e-01
PaísSuiza
8.485402e-01
PaísThuwal Arabia Saudita
5.416240e-08
PaísUnited Kingdom
1.326790e+07
ÁreaArquitectura y Diseño
1.180613e+00
ÁreaArtes
1.109205e+00
ÁreaCiencias Agropecuarias y del Medio Ambiente
9.675559e-01
ÁreaCiencias Básicas
8.512932e-01
ÁreaCiencias de la Salud
8.337049e-01
ÁreaCiencias Políticas y Relaciones Internacionales
1.330856e+00
ÁreaCiencias Sociales
1.374749e+00
ÁreaDerecho
1.570781e+00
ÁreaEconomía
1.342423e+00
ÁreaEducación
8.926955e-01
ÁreaIngeniería
9.214855e-01
tidy(modelo_logit)# A tibble: 71 × 5
term estimate std.error statistic p.value
<chr> <dbl> <dbl> <dbl> <dbl>
1 (Intercept) -0.438 0.132 -3.33 8.84e- 4
2 GéneroMasculino 0.0452 0.0463 0.976 3.29e- 1
3 GéneroNo binario -1.46 0.603 -2.42 1.53e- 2
4 TipoEspecialización 1.41 0.275 5.14 2.76e- 7
5 TipoMaestría 0.685 0.0721 9.50 2.10e-21
6 TipoMaestría Administración 16.6 136. 0.122 9.03e- 1
7 TipoMaestría en Administración -16.5 205. -0.0803 9.36e- 1
8 PaísArgentina -0.338 0.386 -0.874 3.82e- 1
9 PaísAustralia -0.444 0.0961 -4.62 3.84e- 6
10 PaísAustria 0.739 0.455 1.62 1.04e- 1
# ℹ 61 more rows
Part 5 — Comparison Between Beneficiaries and Selected Applicants
Program Type
tabla_tipo <- table(df$Tipo, df$Estado)
tabla_tipo
Beneficiario Seleccionado
Doctorado 511 612
Especialización 78 42
Maestría 4715 2914
Maestría Administración 310 0
Maestría en Administración 0 135
Chi-Square Test
chisq.test(tabla_tipo)
Pearson's Chi-squared test
data: tabla_tipo
X-squared = 519.96, df = 4, p-value < 2.2e-16
Elite University Analysis
top10_univ <- names(sort(table(df$`Univ. Posgrado`),
decreasing = TRUE)[1:10])
df$elite <- ifelse(df$`Univ. Posgrado` %in% top10_univ,
"Top 10",
"Not Top 10")
tabla_elite <- table(df$elite, df$Estado)
tabla_elite
Beneficiario Seleccionado
Not Top 10 4559 2960
Top 10 1055 744
chisq.test(tabla_elite)
Pearson's Chi-squared test with Yates' continuity correction
data: tabla_elite
X-squared = 2.3165, df = 1, p-value = 0.128
ggplot(df,
aes(x = elite,
fill = Estado)) +
geom_bar(position = "fill") +
labs(
title = "Proportion Attending Top 10 Universities",
x = "",
y = "Proportion"
) +
theme_minimal()