R/limited_shuffler.R

LimitedShuffler <- R6Class(

  "LimitedShuffler", list(
  initialize = function(..., limit=1){
    super$initialize(...)
    self$set_limit(limit)
  }),
  inherit = Shuffler
)


LimitedGroupedShuffler <- R6Class(
  #' @importFrom tidyselect eval_select
  #' @importFrom rlang enquo sym
  "LimitedGroupedShuffler", list(
  initialize = function(..., limit=1){
    super$initialize(...)
    self$set_limit(limit)
  }),
  inherit = GroupedShuffler
)
#' 
#' limited_shuffle_in_group <- function(data, grp_cols, ...){
#'   #' @importFrom tidyselect eval_select
#'   #' @importFrom rlang enquo sym
#' 
#'   cols <- eval_select(
#'     enquo(grp_cols),
#'     data = data
#'   )
#'   grp_cols_list <- lapply(names(cols), sym)
#' 
#'   lgs <- LimitedGroupedShuffler$new(!!!grp_cols_list)
#' 
#'   lgs$mutate(data, ...)
#' }

Try the deident package in your browser

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

deident documentation built on April 3, 2025, 6:14 p.m.