This function saves a data.frame as a .csv file (using
write.csv), stores a checksum in '.worcs',
and amends the .gitignore file to exclude filename.
Usage
open_data(
  data,
  filename = paste0(deparse(substitute(data)), ".csv"),
  codebook = paste0("codebook_", deparse(substitute(data)), ".Rmd"),
  value_labels = paste0("value_labels_", deparse(substitute(data)), ".yml"),
  worcs_directory = ".",
  save_expression = write.csv(x = data, file = filename, row.names = FALSE),
  load_expression = read.csv(file = filename, stringsAsFactors = TRUE),
  ...
)Arguments
- data
 A data.frame to save.
- filename
 Character, naming the file data should be written to. By default, constructs a filename from the name of the object passed to
data.- codebook
 Character, naming the file the codebook should be written to. An 'R Markdown' codebook will be created and rendered to
github_document('markdown' for 'GitHub'). By default, constructs a filename from the name of the object passed todata, adding the word 'codebook'. Set this argument toNULLto avoid creating a codebook.- value_labels
 Character, naming the file the value labels of factors and ordinal variables should be written to. By default, constructs a filename from the name of the object passed to
data, adding the word 'value_labels'. Set this argument toNULLto avoid creating a file with value labels.- worcs_directory
 Character, indicating the WORCS project directory to which to save data. The default value
"."points to the current directory.- save_expression
 An R-expression used to save the
data. Defaults towrite.csv(x = data, file = filename, row.names = FALSE), which writes a comma-separated, spreadsheet-style file. The argumentsdataandfilenameare passed fromopen_data()to the expression defined insave_expression.- load_expression
 An R-expression used to load the
datafrom the file created bysave_expression. Defaults toread.csv(file = filename, stringsAsFactors = TRUE). This expression is stored in the project's.worcsfile, and invoked byload_data().- ...
 Additional arguments passed to and from functions.
Examples
if(requireNamespace("withr", quietly = TRUE)){
  withr::with_tempdir({
    file.create(".worcs")
    df <- iris[1:5, ]
    open_data(df, codebook = NULL)
  })
}
#> ✔ Storing original data in 'df.csv' and updating the checksum in '.worcs'.
#> ✔ Updating '.gitignore'.
#> ✔ Storing value labels in 'value_labels_df.yml'.
