R/generate_keyname.R

Defines functions generate_keyname

Documented in generate_keyname

#' Generate unique key name
#'
#' Function to generate a name for the keys if not provided
#'
#' @param BASE base dataset
#' @param COMP comparison dataset
#' @param replace_names a vector of replacement names. Used for recursion, should be edited in function for clarity
#'
#' @keywords internal
generate_keyname <- function(
    BASE,
    COMP,
    replace_names = c("..ROWNUMBER..", "..RN..", "..ROWN..", "..N..")
) {
    assertthat::assert_that(
        is(replace_names, "character"),
        msg = "replace_names is not a character vector"
    )

    assertthat::assert_that(
        length(replace_names) != 0,
        msg = "All default row names are in use in BASE/COMPARE. Please provide a KEY argument"
    )


    key_name <- replace_names[1]

    if (!is.null(BASE[[key_name]]) || !is.null(COMP[[key_name]])) {
        key_name <- generate_keyname(BASE, COMP, replace_names[-1])
    }
    return(key_name)
}

Try the diffdf package in your browser

Any scripts or data that you put into this service are public.

diffdf documentation built on Sept. 30, 2024, 9:25 a.m.