R/rowwise.R

Defines functions duckplyr_rowwise rowwise.duckplyr_df

# Generated by 02-duckplyr_df-methods.R
#' @export
rowwise.duckplyr_df <- function(data, ...) {
  # Our implementation
  duckplyr_error <- rel_try(NULL,
    # Always fall back to dplyr
    "No relational implementation for {.code rowwise()}" = TRUE,
    {
      return(out)
    }
  )

  # dplyr forward
  check_prudence(data, duckplyr_error)

  rowwise <- dplyr$rowwise.data.frame
  out <- rowwise(data, ...)
  return(out)

  # dplyr implementation
  vars <- tidyselect::eval_select(expr(c(...)), data)
  rowwise_df(data, vars)
}

duckplyr_rowwise <- function(data, ...) {
  try_fetch(
    data <- as_duckplyr_df_impl(data),
    error = function(e) {
      testthat::skip(conditionMessage(e))
    }
  )
  out <- rowwise(data, ...)
  class(out) <- setdiff(class(out), "duckplyr_df")
  out
}
duckdblabs/duckplyr documentation built on Feb. 15, 2025, 9:31 p.m.