Translate 3-digit ISCO08/ISCO88COM to MSEC
isco08_to_msec.Rd
This function translates a vector of 3-digit ISCO08/ISCO88COM codes to MSEC codes using the translation tables stored in all_schema$isco08_to_msec / all_schema$isco88com_to_msec
.
Usage
isco08_to_msec(
x,
is_supervisor,
self_employed,
n_employees,
label = FALSE,
to_factor = FALSE,
proto = FALSE
)
isco88com_to_msec(
x,
is_supervisor,
self_employed,
n_employees,
label = FALSE,
to_factor = FALSE,
proto = FALSE
)
Arguments
- x
A character vector of 3-digit ISCO codes. This should be the 4-digit equivalent so instead of 131, the code should be 1310, which is the 4-digit version of of the 3-digit ISCO.
- is_supervisor
A numeric vector indicating whether each individual is a supervisor (1, e.g. responsible for other employees) or not (0).
- self_employed
A numeric vector indicating whether each individual is self-employed (1) or an employee (0).
- n_employees
A numeric vector indicating the number of employees under each respondent.
- label
A logical value indicating whether to return the labels of the translated MSEC codes (default is
FALSE
).- to_factor
A logical value indicating whether to return a factor instead of a character. The order of the labels is taken from the labels for MSEC found in
all_labels
(default isFALSE
).- proto
A boolean set to
FALSE
by default that controls whether to use the legacy 'prototype' version of MSEC. See the details section for more information.
Details
The Micro Socio-Economic Classes (MSECS) is a micro-level implementation of the ESEC which clusters micro-SECs by skill similarity. By aggregating MSECS researchers can arrive at ESEC or ESEC-MP. MSECS provides a micro-level class schema which retains the ESEC criteria of employment relations and ownership of the means of production.
For more information on this class schema, please check the references below:
Florian R. Hertel, Carlo Barone, Oscar Smallenbroek (2024) The multiverse of social class. A large-scale assessment of macro-level, meso-level and micro-level approaches to class analysis. (Under review)
A prototype of MSECS was created based on ESEG and is documented in "Allocation rules of ISCO-08 and ISCO-88 (COM) 3-digit codes to ESEG-Revised" from Oscar Smallenbroek, Florian Hertel and Carlo Barone. For more info, please contact the authors. This 'proto' version of MSEC was the default translation for all isco_*_to_msec`` functions in this package. As of the 12th of January 2025 the proto version is **not** the default, but instead the new MSEC documented here. For users that aim to reproduce previous analysis before this date, please set
proto = TRUE`.
The example sections contain some examples on how to switch between the proto and current version.
This function will accept 3 digit codes as 4 digits. This means that if the 3-digit code is 131 then it should be 1310. All codes should be 4 digits, even though the code is represented as 3-digits (1310, 1320, etc..)
Examples
library(dplyr)
# convert to three digits
ess$isco08_three <- isco08_swap(ess$isco08, from = 4, to = 3)
ess$isco88com_three <- isco88_swap(ess$isco88com, from = 4, to = 3)
# isco08
ess %>%
transmute(
isco08_three,
msec_label = isco08_to_msec(
isco08_three,
is_supervisor,
self_employed,
emplno,
label = TRUE
),
msec = isco08_to_msec(
isco08_three,
is_supervisor,
self_employed,
emplno,
label = FALSE
),
# Proto translation. See details for more information on what proto is.
msec_proto_label = isco08_to_msec(
isco08_three,
is_supervisor,
self_employed,
emplno,
label = TRUE,
proto = TRUE
),
msec_proto = isco08_to_msec(
isco08_three,
is_supervisor,
self_employed,
emplno,
label = FALSE,
proto = TRUE
)
)
#> # A tibble: 48,285 × 5
#> isco08_three msec_label msec msec_proto_label msec_proto
#> <chr> <chr> <chr> <chr> <chr>
#> 1 5410 Armed forces 52 Non-Commissione… 35
#> 2 1320 Lower managers 30 Lower Managemen… 14
#> 3 3130 Technical supervisors 80 Skilled Labor S… 60
#> 4 7130 Technical supervisors 80 Skilled Labor S… 60
#> 5 6110 Primary production workers 100 Agricultural Em… 74
#> 6 6110 Technical supervisors 80 Skilled Labor S… 60
#> 7 9310 Technical supervisors 80 Skilled Labor S… 60
#> 8 1310 Lower managers 30 Lower Managemen… 14
#> 9 1310 Primary production self-emplo… 70 Agricultural Se… 41
#> 10 6110 Technical supervisors 80 Skilled Labor S… 60
#> # ℹ 48,275 more rows
# isco88com
ess %>%
transmute(
isco88com_three,
msec_label = isco88com_to_msec(
isco88com_three,
is_supervisor,
self_employed,
emplno,
label = TRUE
),
msec = isco88com_to_msec(
isco88com_three,
is_supervisor,
self_employed,
emplno,
label = FALSE
),
# Proto translation. See details for more information on what proto is.
msec_proto_label = isco88com_to_msec(
isco88com_three,
is_supervisor,
self_employed,
emplno,
label = TRUE,
proto = TRUE
),
msec_proto = isco88com_to_msec(
isco88com_three,
is_supervisor,
self_employed,
emplno,
label = FALSE,
proto = TRUE
)
)
#> # A tibble: 48,285 × 5
#> isco88com_three msec_label msec msec_proto_label msec_proto
#> <chr> <chr> <chr> <chr> <chr>
#> 1 5160 Armed forces 52 Associate Profe… 50
#> 2 1220 Lower managers 30 Lower Managemen… 14
#> 3 8120 Routine industrial workers 110 Stationary Plan… 64
#> 4 7140 Technical supervisors 80 Skilled Labor S… 60
#> 5 6110 Primary production workers 100 Agricultural Em… 74
#> 6 6110 Technical supervisors 80 Skilled Labor S… 60
#> 7 9310 Technical supervisors 80 Skilled Labor S… 60
#> 8 1220 Lower managers 30 Lower Managemen… 14
#> 9 1220 Self-employed white-collar… 61 Small Entrepren… 40
#> 10 6110 Technical supervisors 80 Skilled Labor S… 60
#> # ℹ 48,275 more rows