knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.path = "man/figures/README-", fig.height = 2 ) library(knitr)
library(iscoCrosswalks) library(data.table)
Eurostat, CEDEFOP, and other EU agencies have been looking into using the ISCO classification to link job–worker characteristics like skill importance and level ratings to European jobs. O*NET is a reliable source of occupational data for the European labour market because of its strong theoretical and empirical basis and the similarities between the European and US economic systems. Drawing on O*NET necessitates mapping from one classification to another since the O*NET database classifies jobs differently than the EU. This is accomplished via a “concordance” (also known as a “crosswalk” or “correspondence table”). We propose the a publicly accessible software for methodologically transparent concordances, by constructing an R-package that we hope will greatly reduce the expenses and time required to perform an approximate mapping between the two categorization systems.
Understanding the variations in how jobs are organized in the US and the EU is necessary to realize the necessity for a more granular concordance. While the SOC and the ISCO have similar goals, there are significant distinctions in the organization and information included in occupational profiles. The US SOC has 867 6-digit classifications for statistics reporting (e.g., number of people employed or average wage). The EU ISCO, on the other hand, employs the ISCO 4-digit categorization, which has 436 unit groups, and adds an extra layer of information of approximately 3000 occupational distinctions. Both systems group occupations according to a four-level hierarchy, with ISCO adding an extra degree of detail.
This package introduces an alogithm that conducts approximate matching between the ISCO and SOC classifications using concordances provided by the Institute for Structural Research and Faculty of Economics, University of Warsaw. The crosswalks offer a complete step-by-step mapping of O*NET data to ISCO88 and ISCO-08 coding using an expanded version of SOC-00 and SOC-10 coding. We propose a mapping method based on the aforementioned research that converts measurements to the smallest possible unit of the target taxonomy, and then performs an aggregation/estimate to the appropriate degree of detail.
"In case of raw-count data the
sum
by occupation group is used, else for composite indicators themean
value is used by each occupational group of the target hierarchical level."
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)
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,
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 table we visualize the top 6 occupations by Skill, of the projected indicator to the SOC taxonomy.
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"] kable(dat)
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
.
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.