| Title: | Rename and Encode Data Frames Using External Crosswalk Files | 
| Version: | 0.3.0 | 
| Description: | A pair of functions for renaming and encoding data frames using external crosswalk files. It is especially useful when constructing master data sets from multiple smaller data sets that do not name or encode variables consistently across files. Based on similar commands in 'Stata'. | 
| Maintainer: | Benjamin Skinner <ben@btskinner.io> | 
| URL: | https://github.com/btskinner/crosswalkr | 
| BugReports: | https://github.com/btskinner/crosswalkr/issues | 
| Depends: | R (≥ 3.5.0) | 
| Imports: | haven, labelled, methods, readr, readxl, tibble | 
| License: | MIT + file LICENSE | 
| Encoding: | UTF-8 | 
| LazyData: | true | 
| RoxygenNote: | 7.3.2 | 
| Suggests: | testthat, knitr, rmarkdown, dplyr | 
| VignetteBuilder: | knitr | 
| NeedsCompilation: | no | 
| Packaged: | 2025-04-08 15:00:35 UTC; benski | 
| Author: | Benjamin Skinner  | 
| Repository: | CRAN | 
| Date/Publication: | 2025-04-09 07:30:36 UTC | 
crosswalkr: Rename and Encode Data Frames Using External Crosswalk Files
Description
A pair of functions for renaming and encoding data frames using external crosswalk files. Especially useful when constructing master data sets from multiple smaller data sets that do not name or encode variables consistently across files. Based on -renamefrom- and -encodefrom- Stata commands.
Author(s)
Maintainer: Benjamin Skinner ben@btskinner.io (ORCID)
See Also
Useful links:
Report bugs at https://github.com/btskinner/crosswalkr/issues
Encode data frame column using external crosswalk file.
Description
Encode data frame column using external crosswalk file.
Usage
encodefrom(
  .data,
  var,
  cw_file,
  raw,
  clean,
  label,
  delimiter = NULL,
  sheet = NULL,
  case_ignore = TRUE,
  ignore_tibble = FALSE
)
encodefrom_(
  .data,
  var,
  cw_file,
  raw,
  clean,
  label,
  delimiter = NULL,
  sheet = NULL,
  case_ignore = TRUE,
  ignore_tibble = FALSE
)
Arguments
.data | 
 Data frame or tbl_df  | 
var | 
 Column name of vector to be encoded  | 
cw_file | 
 Either data frame object or string with path to
external crosswalk file, including path, which has columns
representing   | 
raw | 
 Name of column in   | 
clean | 
 Name of column in   | 
label | 
 Name of column in   | 
delimiter | 
 String delimiter used to parse
  | 
sheet | 
 Specify sheet if   | 
case_ignore | 
 Ignore case when matching current (  | 
ignore_tibble | 
 Ignore   | 
Value
Vector that is either a factor or labelled, depending on data input and options
Functions
-  
encodefrom_(): Standard evaluation version ofencodefrom(var,raw,clean, andlabelmust be strings when using this version) 
Examples
df <- data.frame(state = c('Kentucky','Tennessee','Virginia'),
                 stfips = c(21,47,51),
                 cenregnm = c('South','South','South'))
df_tbl <- tibble::as_tibble(df)
cw <- get(data(stcrosswalk))
df$state2 <- encodefrom(df, state, cw, stname, stfips, stabbr)
df_tbl$state2 <- encodefrom(df_tbl, state, cw, stname, stfips, stabbr)
df_tbl$state3 <- encodefrom(df_tbl, state, cw, stname, stfips, stabbr,
                            ignore_tibble = TRUE)
haven::as_factor(df_tbl)
haven::zap_labels(df_tbl)
Rename data frame columns using external crosswalk file.
Description
Rename data frame columns using external crosswalk file.
Usage
renamefrom(
  .data,
  cw_file,
  raw,
  clean,
  label = NULL,
  delimiter = NULL,
  sheet = NULL,
  drop_extra = TRUE,
  case_ignore = TRUE,
  keep_label = FALSE,
  name_label = FALSE
)
renamefrom_(
  .data,
  cw_file,
  raw,
  clean,
  label = NULL,
  delimiter = NULL,
  sheet = NULL,
  drop_extra = TRUE,
  case_ignore = TRUE,
  keep_label = FALSE,
  name_label = FALSE
)
Arguments
.data | 
 Data frame or tbl_df  | 
cw_file | 
 Either data frame object or string with path to
external crosswalk file, which has columns representing
  | 
raw | 
 Name of column in   | 
clean | 
 Name of column in   | 
label | 
 Name of column in   | 
delimiter | 
 String delimiter used to parse
  | 
sheet | 
 Specify sheet if   | 
drop_extra | 
 Drop extra columns in current data frame if they
are not matched in   | 
case_ignore | 
 Ignore case when matching current (  | 
keep_label | 
 Keep current label, if any, on data frame columns
that aren't matched in   | 
name_label | 
 Use old (  | 
Value
Data frame or tbl_df with new column names and labels.
Functions
-  
renamefrom_(): Standard evaluation version ofrenamefrom(raw,clean, andlabelmust be strings when using this version) 
Examples
df <- data.frame(state = c('Kentucky','Tennessee','Virginia'),
                 fips = c(21,47,51),
                 region = c('South','South','South'))
cw <- data.frame(old_name = c('state','fips'),
                 new_name = c('stname','stfips'),
                 label = c('Full state name', 'FIPS code'))
df1 <- renamefrom(df, cw, old_name, new_name, label)
df2 <- renamefrom(df, cw, old_name, new_name, name_label = TRUE)
df3 <- renamefrom(df, cw, old_name, new_name, drop_extra = FALSE)
State crosswalk data set.
Description
An example state crosswalk. Includes information for all states plus the District of Columbia.
Usage
stcrosswalk
Format
A data frame with 51 rows and 7 variables:
- stfips
 Two-digit state FIPS codes
- stabbr
 Two-letter state abbreviation
- stname
 Full state name
- cenreg
 Census region number
- cenregnm
 Census region name
- cendiv
 Census division number
- cendivnm
 Census division name
State and territory crosswalk data set.
Description
An example state and territory crosswalk. Includes information for all states plus the District of Columbia plus territories.
Usage
sttercrosswalk
Format
A data frame with 69 rows and 10 variables:
- stfips
 Two-digit FIPS codes
- stabbr
 Two-letter abbreviation
- stname
 Full name
- cenreg
 Census region number
- cenregnm
 Census region name
- cendiv
 Census division number
- cendivnm
 Census division name
- is_state
 Indicator for status as state
- is_state_dc
 Indicator for status as state or DC
- status
 1 := Under U.S. sovereignty; 2 := Minor Outlying Islands; 3 := Independent nation under Compact of Free Association with U.S.; 4 := Individual Minor Outlying Islands (within status 2)