Translate 3-digit ISCO08/ISCO88COM to ESEC-MP
isco08_to_esec_mp.Rd
This function translates a vector of 3-digit ISCO08/ISCO88COM codes to ESEC-MP codes using the translation tables stored in all_schema$isco08_to_esec / all_schema$isco88com_to_esec_three
. After translating to ESEC using these tables, this function reassigns managers and professionals (ISCO08/ISCO88COM codes 1 and 2) to have both high/low managers and profesionals
Usage
isco08_to_esec_mp(
x,
is_supervisor,
self_employed,
n_employees,
label = FALSE,
to_factor = FALSE
)
isco88com_to_esec_mp(
x,
is_supervisor,
self_employed,
n_employees,
full_method = TRUE,
label = FALSE,
to_factor = 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 ESEC-MP 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 sorted codes of ESEC-MP which can be found in the source code of each function.
- full_method
a boolean on whether to apply the full method or the simple method.
Details
This function translates a vector of 3-digit ISCO08/ISCO88COM codes to ESEC-MP codes.
ESEC-MP is a class schema similar to ESEC but reassigns managers and professionals (ISCO08/ISCO88COM codes 1 and 2) to have both high/low managers and profesionals. Similarly to DIGCLASS::isco88com_to_esec
, isco88com_to_esec_mp
allows to translate using the simple or full method. isco08_to_esec_mp
does not allow to translate using two different methods and uses the full method by default.
This schema is a slight variation of the original ESEC and the logic used to build this is like this:
All occupations with ESEC digit 1 and ISCO 1-digit 0 or 1 or has subordinates, is a high manager
All occupations with ESEC digit 1 and is self-employed with more than 1 employee, is a high manager
All occupations with ESEC digit 1 and has a 1-digit ISCO higher than 1 and is either an employee or a self-employed with no subordinates, is a high professional
All occupations with ESEC digit 2 and ISCO 1-digit 0 or 1 or has subordinates, is a lower manager
All occupations with ESEC digit 2 and is self-employed with more than 1 employee, is a lower manager
All occupations with ESEC digit 2 and has a 1-digit ISCO higher than 1 and is either an employee or a self-employed with no subordinates, is a lower professional
This translation was created from the Stata do file shared by Oscar Smallenbroek called "ESEC-MP.do". For more info, please contact the author.
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..)
For more information on this class schema, please checkthe references below:
Smallenbroek O, Hertel F, Barone C (2022) Measuring class hierarchies in post-industrial societies: a criterion and construct validation of EGP and ESEC across 31 countries. Sociological Methods & Research. Epub ahead of print 11 November. https://doi.org/10.1177/00491241221134522
Examples
library(dplyr)
# convert to three digits
ess$isco08_three <- isco08_swap(ess$isco08, from = 4, to = 3)
ess %>%
transmute(
isco08_three,
esec = isco08_to_esec(
isco08_three,
is_supervisor,
self_employed,
emplno,
label = FALSE
),
esec_label = isco08_to_esec(
isco08_three,
is_supervisor,
self_employed,
emplno,
label = TRUE
)
)
#> # A tibble: 48,285 × 3
#> isco08_three esec esec_label
#> <chr> <chr> <chr>
#> 1 5410 3 'Intermediate occupations'
#> 2 1320 2 'Lower mgrs/professionals, higher supervisory/technicians'
#> 3 3130 6 'Lower supervisors and technicians'
#> 4 7130 6 'Lower supervisors and technicians'
#> 5 6110 8 'Lower technical'
#> 6 6110 6 'Lower supervisors and technicians'
#> 7 9310 6 'Lower supervisors and technicians'
#> 8 1310 2 'Lower mgrs/professionals, higher supervisory/technicians'
#> 9 1310 5 'Small employers and self-employed (agriculture)'
#> 10 6110 6 'Lower supervisors and technicians'
#> # ℹ 48,275 more rows
# Convert isco88com to three digits
ess$isco88com_three <- isco88_swap(ess$isco88com, from = 4, to = 3)
# Using the full method
ess %>%
transmute(
isco88com_three,
esec = isco88com_to_esec_mp(
isco88com_three,
is_supervisor,
self_employed,
emplno,
full_method = TRUE,
label = FALSE
),
esec_label = isco88com_to_esec_mp(
isco88com_three,
is_supervisor,
self_employed,
emplno,
full_method = TRUE,
label = TRUE
)
)
#> # A tibble: 48,285 × 3
#> isco88com_three esec esec_label
#> <chr> <chr> <chr>
#> 1 5160 5 Higher-grade White-collar
#> 2 1220 3 Lower Manager
#> 3 8120 11 Routine
#> 4 7140 8 Higher-grade Blue-collar
#> 5 6110 10 Lower-grade Blue-collar
#> 6 6110 8 Higher-grade Blue-collar
#> 7 9310 8 Higher-grade Blue-collar
#> 8 1220 3 Lower Manager
#> 9 1220 6 Self-employed and Small Employer
#> 10 6110 8 Higher-grade Blue-collar
#> # ℹ 48,275 more rows
# Using the simple method. For esec_mp
# we need all variables (is_supervisor, self_employed, etc..)
# because we need to assign the manager/professionals depending
# these variables.
ess %>%
transmute(
isco88com_three,
esec_simple = isco88com_to_esec_mp(
isco88com_three,
is_supervisor,
self_employed,
emplno,
full_method = FALSE,
label = FALSE
),
esec_simple_label = isco88com_to_esec_mp(
isco88com_three,
is_supervisor,
self_employed,
emplno,
full_method = FALSE,
label = TRUE
)
)
#> # A tibble: 48,285 × 3
#> isco88com_three esec_simple esec_simple_label
#> <chr> <chr> <chr>
#> 1 5160 9 Lower-grade White-collar
#> 2 1220 3 Lower Manager
#> 3 8120 11 Routine
#> 4 7140 10 Lower-grade Blue-collar
#> 5 6110 7 Self-employed and Small Employer agriculture
#> 6 6110 7 Self-employed and Small Employer agriculture
#> 7 9310 11 Routine
#> 8 1220 3 Lower Manager
#> 9 1220 3 Lower Manager
#> 10 6110 7 Self-employed and Small Employer agriculture
#> # ℹ 48,275 more rows