#' Filter duplicates on desired variables
#'
#' @description Filter duplicates or unique values. These are
#' wrappers around a `group_by` then `filter`.
#'
#' @param data a tbl
#' @param ... Variables to find duplicates of
#'
#' @export
#'
#' @examples
#'
#' df <- data.frame(grp1 = c(1, 1, 2, 2, 3), grp2 = c(1, 2, 1, 2, 2))
#'
#' df %>% filter_duplicates(grp1)
#' df %>% filter_duplicates(grp2)
#'
#' df %>% filter_unique(grp1, grp2)
filter_duplicates <- function(data, ...) {
group_var <- dplyr::quos(...)
data %>%
dplyr::group_by(!!! group_var) %>%
dplyr::filter(max(row_number()) > 1) %>%
dplyr::ungroup()
}
#' @rdname filter_duplicates
#' @export
filter_unique <- function(data, ...) {
group_var <- dplyr::quos(...)
data %>%
dplyr::group_by(!!! group_var) %>%
dplyr::filter(max(row_number()) == 1) %>%
dplyr::ungroup()
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.