Skip to contents

This function translates a vector of 4-digit ISCO88/ISCO68 codes to EGP-MP codes using the translation tables stored in all_schema$isco88_to_egp11 / all_schema$isco68_to_egp11. After translating to EGP using these tables, this function reassigns managers and professionals (ISCO88/ISCO68 codes 1 and 2) to have both high/low managers and profesionals. Note that this function translates to EGP11 (not EGP7/EGP5/EGP3) and then reassigns categories to have both high/low managers and professionals. Note that this translation uses EGP11.

Usage

isco88_to_egp_mp(
  x,
  is_supervisor,
  self_employed,
  n_employees,
  label = FALSE,
  to_factor = FALSE
)

isco68_to_egp_mp(
  x,
  is_supervisor,
  self_employed,
  n_employees,
  label = FALSE,
  to_factor = FALSE
)

Arguments

x

A character vector of 4-digit ISCO codes.

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 EGP-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 EGP-MP which can be found in the source code of each function.

Value

A character vector of EGP-MP codes.

Details

EGP-MP is a class schema similar to EGP but reassigns managers and professionals (ISCO88/ISCO68 codes 1 and 2) to have both high/low managers and profesionals.

This schema is a slight variation of the original EGP and the logic used to build this is like this:

  • All occupations with EGP digit 1 and ISCO 1-digit 0 or 1 or has subordinates, is a high manager

  • All occupations with EGP digit 1 and is self-employed with more than 1 employee, is a high manager

  • All occupations with EGP 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 EGP digit 2 and ISCO 1-digit 0 or 1 or has subordinates, is a lower manager

  • All occupations with EGP digit 2 and is self-employed with more than 1 employee, is a lower manager

  • All occupations with EGP 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 "EGP-MP.do". For more info, please contact the author.

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)

# isco88
ess %>%
  transmute(
    isco88,
    egp_mp = isco88_to_egp_mp(
      isco88,
      is_supervisor,
      self_employed,
      emplno,
      label = FALSE
    ),
    egp_mp_label = isco88_to_egp_mp(
      isco88,
      is_supervisor,
      self_employed,
      emplno,
      label = TRUE
    )
  )
#> # A tibble: 48,285 × 3
#>    isco88 egp_mp egp_mp_label            
#>    <chr>  <chr>  <chr>                   
#>  1 5169   11     VIIa Unskilled Worker   
#>  2 1222   1      Ia Higher Managers      
#>  3 8120   10     VI Skilled Worker       
#>  4 7141   10     VI Skilled Worker       
#>  5 6111   12     VIIb Farm Labor         
#>  6 6111   12     VIIb Farm Labor         
#>  7 9313   11     VIIa Unskilled Worker   
#>  8 1221   13     IVc Self-employed Farmer
#>  9 1221   13     IVc Self-employed Farmer
#> 10 6111   12     VIIb Farm Labor         
#> # ℹ 48,275 more rows

# isco68
ess %>%
  transmute(
    isco68,
    egp_mp = isco68_to_egp_mp(
      isco68,
      is_supervisor,
      self_employed,
      emplno,
      label = FALSE
    ),
    egp_mp_label = isco68_to_egp_mp(
      isco68,
      is_supervisor,
      self_employed,
      emplno,
      label = TRUE
    )
  )
#> # A tibble: 48,285 × 3
#>    isco68 egp_mp egp_mp_label                       
#>    <chr>  <chr>  <chr>                              
#>  1 5890   8      IVb Self-employed with no employees
#>  2 2120   3      IIa Higher Professionals           
#>  3 7200   10     VI Skilled Worker                  
#>  4 9310   10     VI Skilled Worker                  
#>  5 6220   12     VIIb Farm Labor                    
#>  6 6220   12     VIIb Farm Labor                    
#>  7 9595   11     VIIa Unskilled Worker              
#>  8 6000   13     IVc Self-employed Farmer           
#>  9 6000   13     IVc Self-employed Farmer           
#> 10 6220   12     VIIb Farm Labor                    
#> # ℹ 48,275 more rows