knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.path = "man/figures/README-", out.width = "100%", fig.height = 6 )
The goal of iscoCrosswalks is to map indicators and raw counts from the International Standard Classification of Occupations (ISCO) to the Standard Occupational Classification (SOC) System, and vice versa.
You can install the development version of iscoCrosswalks from GitHub with:
# install.packages("devtools") devtools::install_github("eworx-org/iscoCrosswalks")
This is a basic example which shows you how to translate CEDEFOPs "Importance of foundation skills" indicator given in ISCO(2008) to SOC(2010) classification:
library(iscoCrosswalks)
library(ggplot2) foundation_skills[, Skill := gsub(" skills", "", Skill)] dat <- foundation_skills[order(Skill, -Value)][, head(.SD, 6), by = "Skill"] ggplot(dat, aes(x = Occupations, y = Value, fill = Skill)) + geom_col(alpha = 0.8, width = 0.85) + scale_fill_brewer(palette = "Dark2") + scale_y_continuous(expand = c(0, 0.1)) + coord_flip() + facet_grid(rows = vars(Skill), scales = "free_y", switch = "y", space = "free_y") + labs( title = "Which foundation skills are very important for jobs?", subtitle = "Highest level needed for doing their job - ISCO 2008", caption = "Source: Cedefop's European skills and jobs survey", y = "% of jobs for which foundation skills are important" ) + theme_minimal(base_family = "Roboto Condensed") + theme( plot.margin = margin(0.5, 0.5, 0.5, 0.5, unit = "cm"), plot.title = element_text(size = 15, face = "bold"), strip.text.y = element_text(angle = 270, face = "bold"), strip.placement = "outside", axis.title.x = element_text(margin = margin(t = 0.5, b = 0.5, unit = "cm")), axis.title.y = element_blank(), axis.text = element_text(size = 10), legend.position = "none", panel.grid.major.y = element_blank(), )
The percentage of jobs where foundation skills (literacy, numeracy, ICT, and foreign languages) are highly crucial for doing the work is shown in this indicator. It is based on the findings of Cedefop's European survey of skills and jobs.
The Skills Foundation Indicator is exposed also in iscoCrosswalks
as an
example data-set. It consists of three variables
Occupations
Skill
Value
To perform the transformation, we've added a third column with the
preferredLabel
from the ISCO taxonomy. In the R terminal, type isco
to
access the desired labels. Manual entry of preferred labels is suggested for
small data. See also the R package
labourR for automating the
occupations coding, in case of big data-sets.
Inspecting the indicator,
knitr::kable(foundation_skills[seq(1 , nrow(foundation_skills), by = 5), ])
To translate the indicator to SOC classification, iscoCrosswalks
has two
mandatory column names. Namely, job
and value
standing for the preferred
labels of the taxonomy and the value of the indicator respectively.
Thus, we rename preferredLabel
to job
, and Value
to value
.
data.table::setnames(foundation_skills, c("preferredLabel", "Value"), c("job", "value"))
The isco_soc_crosswalk()
function can translate the values to the desired
taxonomy. The parameter brkd_cols
accepts a vector that indicates
other columns used for grouping.
Also, since this is a composite score we set indicator = TRUE
to use mean
value. Instead, if raw counts are given then we set indicator = FALSE
to
aggregate the units of the hierarchy.
soc_foundation_skills <- isco_soc_crosswalk(foundation_skills, brkd_cols = "Skill", isco_lvl = 1, soc_lvl = "soc_1", indicator = TRUE)
In the following we visualize the top 6 occupations by Skill, of the projected indicator to the SOC taxonomy.
library(ggplot2) library(data.table) soc_foundation_skills[, Occupations := gsub(" Occupations", "", soc_label)] soc_foundation_skills[, Skill := gsub(" skills", "", Skill)] dat <- soc_foundation_skills[order(Skill, -value)][, head(.SD, 6), by = "Skill"] ggplot(dat, aes(x = Occupations, y = value, fill = Skill)) + geom_col(alpha = 0.8, width = 0.85) + scale_fill_brewer(palette = "Dark2") + scale_y_continuous(expand = c(0, 0.1)) + coord_flip() + facet_grid(rows = vars(Skill), scales = "free_y", switch = "y", space = "free_y") + labs( title = "Which foundation skills are very important for jobs?", subtitle = "Highest level needed for doing their job - SOC 2010", caption = "Source: Cedefop's European skills and jobs survey transformed with iscoCrosswalks", y = "% of jobs for which foundation skills are important" ) + theme_minimal(base_family = "Roboto Condensed") + theme( plot.margin = margin(0.5, 0.5, 0.5, 0.5, unit = "cm"), plot.title = element_text(size = 15, face = "bold"), strip.text.y = element_text(angle = 270, face = "bold"), strip.placement = "outside", axis.title.x = element_text(margin = margin(t = 0.5, b = 0.5, unit = "cm")), axis.title.y = element_blank(), axis.text = element_text(size = 10), legend.position = "none", panel.grid.major.y = element_blank(), )
If the reverse process is required, use the soc_isco_crosswalk()
function. The
preffered labels of the taxonomy can be inspected in the included dataset
soc_groups
.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.