Ukraine's Schools Graduate Tests Report EIT/NMT (part 3)
  • AI Chat
  • Code
  • Report
  • Beta
    Spinner

    External independent tests report 2016-2023 (part 3)

    Intro

    This is a third part of Ukrainian EIT/NMT report (2016-2023). Due to limitation of publication size the report was split up into parts. The previous parts you can find here: Part 1 and Part 2

    Load libraries

    Loading R libraries

    packages <- c("ggbump", "tidyverse", "data.table", "sf", "plotly", "leaflet", 
                    "stringi", "igraph", "ggraph", "rgeos", "rworldmap")
      
    # Identify the packages that need to be installed
    packages_to_install <- packages[!packages %in% installed.packages()[,"Package"]]
      
    # Install the missing packages
    if(length(packages_to_install)) install.packages(packages_to_install)
    
    # Load the libraries
    lapply(packages, require, character.only = TRUE)
    Hidden output

    Read Data

    Read CSV file from source into a datatable. Raw data from UCEQA has been processed,enriched, and cleaned by me. R scripts for data prep and cleansing you can find in git

    zno_raw <- fread(cmd='unzip -cq data/ZNO_2016+_raw_data.zip',  
                     na.strings = "", dec = ".", encoding = "UTF-8", quote = "")

    Read geojson data of Ukrainian administrative entities. Source: Minregion

    oblasts <- sf::st_read("data/oblast.geojson", stringsAsFactors = FALSE)
    
    rayons <- sf::st_read("data/rayon.geojson", stringsAsFactors = FALSE)
    
    hromadas <- sf::st_read("data/terhromad_1.geojson", stringsAsFactors = FALSE)

    Read hromada's dictionary. Scraped from decentralization.gov.ua

    hrom_dict <- fread("data/Hromadas_dictionary.csv",na.strings = "",
                       dec = ",",encoding = "UTF-8",quote="") %>% 
     mutate(rajon=paste0(rajon," ","район"),
            oblast=paste0(oblast," ","область"),
            pop_1000=population/1000)

    Read world cities geospatial data. Source: simplemaps.com

    world_cities <- fread("data/worldcities.csv",na.strings = "",
                          dec = ".",encoding = "UTF-8")

    Data preparation

    Compose datasets for visualization

    Explore source dataset. Check values consistency within columns

    zno <- zno_raw %>%  
     mutate(across(c(matches("name$|test$|lang$|status$")),as.factor)) %>% 
     relocate(classprofilename,classlangname, .after=tertypename)