This function merges two or more codes into one.
Usage
recode_merge(
input,
codes,
mergeToCode,
filter = TRUE,
output = NULL,
filenameRegex = ".*",
outputPrefix = "",
outputSuffix = "_rcMerged",
decisionLabel = NULL,
justification = NULL,
justificationFile = NULL,
preventOverwriting = rock::opts$get("preventOverwriting"),
encoding = rock::opts$get("encoding"),
silent = rock::opts$get("silent")
)
Arguments
- input
One of 1) a character string specifying the path to a file with a source; 2) an object with a loaded source as produced by a call to
load_source()
; 3) a character string specifying the path to a directory containing one or more sources; 4) or an object with a list of loaded sources as produced by a call toload_sources()
.- codes
A character vector with the codes to merge.
- mergeToCode
A single character vector with the merged code.
- filter
Optionally, a filter to apply to specify a subset of the source(s) to process (see
get_source_filter()
).- output
If specified, the recoded source(s) will be written here.
- filenameRegex
Only process files matching this regular expression.
- outputPrefix, outputSuffix
The prefix and suffix to add to the filenames when writing the processed files to disk, in case multiple sources are passed as input.
- decisionLabel
A description of the (recoding) decision that was taken.
- justification
The justification for this action.
- justificationFile
If specified, the justification is appended to this file. If not, it is saved to the
justifier::workspace()
. This can then be saved or displayed at the end of the R Markdown file or R script usingjustifier::save_workspace()
.- preventOverwriting
Whether to prevent overwriting existing files when writing the files to
output
.- encoding
The encoding to use.
- silent
Whether to be chatty or quiet.
Examples
### Get path to example source
examplePath <-
system.file("extdata", package="rock");
### Get a path to one example file
exampleFile <-
file.path(examplePath, "example-1.rock");
### Load example source
loadedExample <- rock::load_source(exampleFile);
### Move two codes to a new parent, showing progress
recoded_source <-
rock::recode_merge(
loadedExample,
codes=c("childCode2", "grandchildCode2"),
mergeToCode="mergedCode",
silent=FALSE
);
#> Merging all occurrences of codes 'childCode2' & 'grandchildCode2' into 'mergedCode'.
#> Out of the 132 utterances in the provided source, 132 are selected by the filter, 4 of which contain the code texts.
#> Using regular expression '(\[\[|>)(childCode2|grandchildCode2)(\]\]|>)'.
#> --------PRE: ~specimen book. [[parentCode1>childCode2]] [[childCode1]] [[intensity||2]]
#> POST: ~specimen book. [[parentCode1>mergedCode]] [[childCode1]] [[intensity||2]]
#> --------PRE: ~still in their infancy. [[parentCode1>childCode1>grandchildCode2]]
#> POST: ~still in their infancy. [[parentCode1>childCode1>mergedCode]]
#> --------PRE: accompanied by English versions from the 1914 translation by H. Rackham. [[childCode1>grandchildCode2]]
#> POST: accompanied by English versions from the 1914 translation by H. Rackham. [[childCode1>mergedCode]]
#> --------PRE: reasonable. The generated Lorem Ipsum is therefore always free from [[grandchildCode2]]
#> POST: reasonable. The generated Lorem Ipsum is therefore always free from [[mergedCode]]
#> Merged 4 code instances of codes 'childCode2' & 'grandchildCode2' into code 'mergedCode'.
#>