R/distinct.R

Defines functions distinct_sticky distinct.sticky_rowwise_df distinct.sticky_grouped_df distinct.sticky_tbl_df

#' @importFrom dplyr distinct
#' @export
distinct.sticky_tbl_df <- function(.data, ..., .keep_all = FALSE) {
  distinct_sticky(NextMethod(), .data, ...)
}

#' @export
distinct.sticky_grouped_df <- function(.data, ..., .keep_all = FALSE) {
  distinct_sticky(NextMethod(), .data, ...)
}

#' @export
distinct.sticky_rowwise_df <- function(.data, ..., .keep_all = FALSE) {
  distinct_sticky(NextMethod(), .data, ...)
}

distinct_sticky <- function(data_distinct, data, ...) {
  data_summarised <- summarise(
    group_by(data, ..., .add = TRUE),
    .groups = "drop"
  )
  data_distinct <- dplyr::left_join(
    data_distinct,
    data_summarised,
    by = names(data_distinct)
  )
  restore_sticky_attrs(data_distinct, data)
}

Try the stickyr package in your browser

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

stickyr documentation built on July 13, 2026, 1:06 a.m.