concord_hs_bec: Converting HS and BEC Codes

concord_hs_becR Documentation

Converting HS and BEC Codes

Description

Concords Harmonized System codes (HS0, HS1, HS2, HS3, HS4, HS5, HS6, HS combined) to and from Broad Economic Classification codes (BEC Revision 4).

Usage

concord_hs_bec(sourcevar, origin, destination, dest.digit = 2, all = FALSE)

Arguments

sourcevar

An input character vector of HS or BEC codes. The function accepts 2, 4, 6-digit codes for HS and 1 to 3-digit codes for BEC.

origin

A string setting the input industry classification: "HS" (combined), "HS0" (1988/92), "HS1" (1996), "HS2" (2002), "HS3" (2007), "HS4" (2012), "HS5" (2017), "HS6" (2022), "BEC4" (2016).

destination

A string setting the output industry classification: "HS" (combined), "HS0" (1988/92), "HS1" (1996), "HS2" (2002), "HS3" (2007), "HS4" (2012), "HS5" (2017), "HS6" (2022), "BEC4" (2016).

dest.digit

An integer indicating the preferred number of digits for output codes. Allows 2, 4, or 6 digits for HS codes and 1 to 3 digits for BEC codes. The default is 2 digits.

all

Either TRUE or FALSE. If TRUE, the function will return (1) all matched outputs for each input, and (2) the share of occurrences for each matched output among all matched outputs. Users can use the shares as weights for more precise concordances. If FALSE, the function will only return the matched output with the largest share of occurrences (the mode match). If the mode consists of multiple matches, the function will return the first matched output.

Value

The matched output(s) for each element of the input vector. Either a list object when all = TRUE or a character vector when all = FALSE.

Note

Always include leading zeros in codes (e.g., use HS code 010110 instead of 10110)—results may be buggy otherwise.

Source

Concordance tables provided by:

  • United Nations Trade Statistics <https://unstats.un.org/unsd/trade/classifications/correspondence-tables.asp>

Examples

# one input: one-to-one match
concord_hs_bec(sourcevar = "120600",
                origin = "HS", destination = "BEC4",
                dest.digit = 3, all = FALSE)

concord_hs_bec(sourcevar = "120600",
                origin = "HS", destination = "BEC4",
                dest.digit = 3, all = TRUE)

# two inputs: multiple-to-one match
concord_hs_bec(sourcevar = c("010110", "010210"),
                origin = "HS", destination = "BEC4",
                dest.digit = 3, all = FALSE)

concord_hs_bec(sourcevar = c("010110", "010210"),
                origin = "HS", destination = "BEC4",
                dest.digit = 3, all = TRUE)

# two inputs: repeated
concord_hs_bec(sourcevar = c("120600", "120600"),
                origin = "HS", destination = "BEC4",
                dest.digit = 3, all = FALSE)

# one to multiple matches
concord_hs_bec(sourcevar = c("010120", "030571"),
                origin = "HS", destination = "BEC4",
                dest.digit = 3, all = TRUE)

# if no match, will return NA and give warning message
concord_hs_bec(sourcevar = c("120600", "120610"),
                origin = "HS", destination = "BEC4",
                dest.digit = 3, all = FALSE)

# 4-digit inputs, 2-digit outputs
concord_hs_bec(sourcevar = c("1206", "8546"),
                origin = "HS", destination = "BEC4",
                dest.digit = 2, all = TRUE)

# 6-digit inputs, 1-digit outputs
concord_hs_bec(sourcevar = c("120600", "854610"),
                origin = "HS", destination = "BEC4",
                dest.digit = 1, all = TRUE)

## BEC4 to HS combined
concord_hs_bec(sourcevar = c("1", "7"),
                origin = "BEC4", destination = "HS",
                dest.digit = 6, all = FALSE)

insongkim/concordance documentation built on Jan. 25, 2023, 4:55 p.m.