Skip to contents

This function translates a vector of 4-digit ISCO08/ISCO88 codes to OESCH codes using the translation tables stored in all_schema$isco08_to_oesch16 / all_schema$isco88_to_oesch16 / all_schema$oesch16_to_oesch8 / all_schema$oesch16_to_oesch5.

Usage

isco08_to_oesch(
  x,
  self_employed,
  n_employees,
  n_classes = 16,
  label = FALSE,
  to_factor = FALSE
)

isco88_to_oesch(
  x,
  self_employed,
  n_employees,
  n_classes = 16,
  label = FALSE,
  to_factor = FALSE
)

Arguments

x

A character vector of 4-digit ISCO codes.

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.

n_classes

a numeric value indicating the number of OESCH classes to obtain. Default is 16 OESCH classes. The possible values are 16 classes, 8 classes and 5 classes. For more information, see the details section.

label

A logical value indicating whether to return the labels of the translated OESCH 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 OESCH found in all_labels (default is FALSE).

Value

A character vector of OESCH codes.

Details

This function works by first translating to OESCH16 and then translating to other OESCH variants, if the user has requested this through the n_classes argument.

This translation was taken from the iscogen Stata package. For more details, check out the package documentation and search for ISCO88/IS68 -> OESCH. For translations between OESCH16 and OESCH8/OESCH5, see the source of the Stata package oesch here.

Users can see the translation used in this package in all_schema$oesch16_to_oesch8 and all_schema$oesch16_to_oesch5. Moreover, the labels used can be found in all_labels$oesch16, all_labels$oesch8 and all_labels$oesch5.

For more details on this class schema, please check the references below:

  • Oesch D (2006a) Coming to grips with a changing class structure. An analysis of employment stratification in Britain, Germany, Sweden and Switzerland. International Sociology 21(2): 263–288.

  • Oesch, D. (2006b) Redrawing the Class Map. Stratification and Institutions in Britain, Germany, Sweden and Switzerland. Palgrave Macmillan.

Resource websites of the OESCH Social Class Schema:

Examples

library(dplyr)

# isco08
ess %>%
  transmute(
    isco08,
    oesch16 = isco08_to_oesch(isco08, self_employed, emplno, label = FALSE),
    oesch8 = isco08_to_oesch(isco08, self_employed, emplno, n_classes = 8, label = FALSE),
    oesch5 = isco08_to_oesch(isco08, self_employed, emplno, n_classes = 5, label = FALSE),
  )
#> # A tibble: 48,285 × 4
#>    isco08 oesch16 oesch8 oesch5
#>    <chr>  <chr>   <chr>  <chr> 
#>  1 5414   4       2      3     
#>  2 1321   9       5      1     
#>  3 3135   6       3      2     
#>  4 7131   7       4      4     
#>  5 6111   7       4      4     
#>  6 6111   7       4      4     
#>  7 9313   8       4      5     
#>  8 1311   10      5      2     
#>  9 1311   3       2      3     
#> 10 6111   7       4      4     
#> # ℹ 48,275 more rows


# isco88
ess %>%
  transmute(
    isco88,
    oesch16 = isco88_to_oesch(isco88, self_employed, emplno, label = FALSE),
    oesch8 = isco88_to_oesch(isco88, self_employed, emplno, n_classes = 8, label = FALSE),
    oesch5 = isco88_to_oesch(isco88, self_employed, emplno, n_classes = 5, label = FALSE),
  )
#> # A tibble: 48,285 × 4
#>    isco88 oesch16 oesch8 oesch5
#>    <chr>  <chr>   <chr>  <chr> 
#>  1 5169   4       2      3     
#>  2 1222   9       5      1     
#>  3 8120   8       4      5     
#>  4 7141   7       4      4     
#>  5 6111   7       4      4     
#>  6 6111   7       4      4     
#>  7 9313   8       4      5     
#>  8 1221   9       5      1     
#>  9 1221   3       2      3     
#> 10 6111   7       4      4     
#> # ℹ 48,275 more rows