# Generated by fusen: do not edit by hand
#' Check ID COlumns
#'
#' Description
#'
#' @param .source
#' The Source Dataframe.
#' Must contain a unique column id and the columns you want to match on
#' @param .target
#' The Target Dataframe.
#' Must contain a unique column id and the columns you want to match on
#'
#' @return Either Errors or a list
#'
#' @noRd
#' @examples
#' check_id(table_source, table_target)
check_id <- function(.source, .target, .error = TRUE) {
cols_s_ <- colnames(.source)
cols_t_ <- colnames(.target)
.source <- tibble::as_tibble(.source)
.target <- tibble::as_tibble(.target)
es_ <- "id" %in% cols_s_
et_ <- "id" %in% cols_t_
if (es_) us_ <- !any(duplicated(.source[["id"]])) else us_ <- NA
if (et_) ut_ <- !any(duplicated(.target[["id"]])) else ut_ <- NA
if (.error) {
if (!es_ & !et_) {
stop("Both datasets must have an 'id' column", call. = FALSE)
} else if (!es_) {
stop("Source dataset must have an 'id' column", call. = FALSE)
} else if (!et_) {
stop("Target dataset must have an 'id' column", call. = FALSE)
}
if (!us_ & !ut_) {
stop("Both datasets must have unique IDs", call. = FALSE)
} else if (!us_) {
stop("Source dataset must have unique IDs", call. = FALSE)
} else if (!ut_) {
stop("Target dataset must have aunique IDs", call. = FALSE)
}
}
list(e_s = es_, e_t = et_, u_s = us_, u_t = ut_)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.