The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
This vignette shows how to use educabR to compare course quality (CPC) between public and private higher education institutions in Brazil.
CPC (Conceito Preliminar de Curso) is a quality indicator for undergraduate courses, ranging from 1 (lowest) to 5 (highest). Courses scoring 1 or 2 are flagged for on-site evaluation.
#> Rows: 9,812
#> Columns: 39
#> $ ano <dbl> 2023, 2023, 2023, 2023, 2023, …
#> $ codigo_da_ies <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, …
#> $ nome_da_ies <chr> "UNIVERSIDADE FEDERAL DE MATO G…
#> $ sigla_da_ies <chr> "UFMT", "UFMT", "UFMT", "UFMT"…
#> $ categoria_administrativa <chr> "Pública Federal", "Pública Fed…
#> $ codigo_do_curso <dbl> 3, 9, 10, 12, 16, 17, 20, 37, …
#> $ area_de_avaliacao <chr> "ENGENHARIA CIVIL", "AGRONOMIA"…
#> $ sigla_da_uf <chr> "MT", "MT", "MT", "MT", "MT", "…
#> $ cpc_continuo <dbl> 3.429, 3.482, 3.064, 2.792, 4.…
#> $ cpc_faixa <dbl> 4, 4, 4, 3, 5, 4, 4, 4, 4, 5, …
#> # ℹ 29 more variables
The categoria_administrativa column classifies
institutions. The exact column name and coding may vary by year – check
names(cpc) after downloading.
cpc_classified |>
filter(!is.na(cpc_faixa)) |>
count(sector, cpc_faixa) |>
mutate(pct = n / sum(n) * 100, .by = sector) |>
ggplot(aes(x = factor(cpc_faixa), y = pct, fill = sector)) +
geom_col(position = "dodge") +
labs(
title = "CPC Score Distribution: Public vs Private (2023)",
x = "CPC Score (1-5)",
y = "Percentage of Courses (%)",
fill = "Sector"
) +
theme_minimal()cpc_classified |>
filter(!is.na(cpc_continuo), !is.na(area_de_avaliacao)) |>
summarise(
mean_cpc = mean(cpc_continuo, na.rm = TRUE),
n = n(),
.by = c(sector, area_de_avaliacao)
) |>
filter(n >= 10) |>
pivot_wider(
names_from = sector,
values_from = c(mean_cpc, n)
) |>
mutate(gap = mean_cpc_Public - mean_cpc_Private) |>
slice_max(abs(gap), n = 15) |>
ggplot(aes(x = reorder(area_de_avaliacao, gap), y = gap)) +
geom_col(aes(fill = gap > 0)) +
coord_flip() +
scale_fill_manual(
values = c("TRUE" = "#2a9d8f", "FALSE" = "#e76f51"),
labels = c("TRUE" = "Public higher", "FALSE" = "Private higher")
) +
labs(
title = "CPC Gap: Public minus Private, by Knowledge Area (2023)",
x = NULL,
y = "CPC difference (public - private)",
fill = NULL
) +
theme_minimal() +
theme(legend.position = "none")IGC (Indice Geral de Cursos) provides an institution-level quality score. Combining CPC and IGC gives a course-level and institution-level perspective.
igc <- get_igc(year = 2023)
igc |>
mutate(
sector = case_when(
categoria_administrativa %in% c(
"Publica Federal", "Publica Estadual", "Publica Municipal",
"P\u00fablica Federal", "P\u00fablica Estadual", "P\u00fablica Municipal"
) ~ "Public",
.default = "Private"
)
) |>
filter(!is.na(igc_continuo)) |>
ggplot(aes(x = sector, y = igc_continuo, fill = sector)) +
geom_boxplot(alpha = 0.7) +
scale_fill_manual(values = c("Public" = "#2a9d8f", "Private" = "#e76f51")) +
labs(
title = "IGC Distribution: Public vs Private (2023)",
x = NULL,
y = "IGC (Continuous)"
) +
theme_minimal() +
theme(legend.position = "none")These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.