# Join utilities #' Test the join between two sets of identifiers #' #' @param x a vector of identifiers to check against y #' @param y a vector of identifiers to check against x #' @param distinct logical, should duplicate values of x and y be removed before testing #' #' @return nothing, print a summary of match statistics to the console #' @export #' #' @examples #' x <- LETTERS #' y <- c(letters, LETTERS) #' match_test(x, y) match_test <- function(x, y, distinct = TRUE) { if (distinct) { x <- unique(x) y <- unique(y) cat("**** Distinct Matches ****") cat("\n") } # TODO: DO not report 100% if there is even 1 mismatch xiny <- sum(x %in% y) total_x <- length(x) yinx <- sum(y %in% x) total_y <- length(y) cat("**** Match Summary ****") cat("\n") cat("X in Y") cat("\n") cat(paste0("Of the ", total_x, " X values, ", xiny, " (", 100*round(xiny/total_x, 2), "%) were matched.")) cat("\n") cat("********************************************") cat("\n") cat("Y in X") cat("\n") cat(paste0("Of the ", total_y, " Y values, ", yinx, " (", 100*round(yinx/total_y, 2), "%) were matched.")) cat("\n") cat("******************************************") }