library(S7)
typed <- function(fun, ...) {
..params <- list(...)
..syms <- names(..params)
stopifnot(..syms %in% names(formals(fun)))
# should make this a function
..validator <- S7::new_class("..validator", properties = ..params)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
library(plotly) | |
library(htmlwidgets) | |
x_unified_y_cursor <- " | |
// hovermode is 'x unified' but we don't want the default y/vertical | |
// positioning of the hover label. We want the hoverlabel to appear at the | |
// current cursor position (i.e. the y position of the cursor) | |
function(el) { | |
el.on('plotly_hover', function(data) { | |
console.log('event data: ', data); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
library(progressr) | |
library(furrr) | |
handlers("void") | |
handlers(list( | |
handler_progress( | |
format = ":spin :current/:total (:message) [:bar] :percent in :elapsed ETA: :eta", | |
width = getOption("width"), | |
complete = "=" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
invisible(lapply( | |
list.files( | |
path = ".", | |
pattern = "\\.(r|rmd|qmd)$", | |
full.names = TRUE, | |
recursive = TRUE, | |
ignore.case = TRUE | |
), | |
function(path) { | |
pat <- "!!rlang::sym[(]\"([a-zA-z0-9_]+)\"[)]" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
lambda <- function(expr, args = ".i") { | |
fun <- function() { } | |
formals(fun) <- structure( | |
rep(list(substitute()), length(args)), | |
class = "alist", | |
names = args | |
) | |
if (is.function(expr)) { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
databricks <- local(envir = new.env(), { | |
.self <- environment() | |
.client <- NULL | |
.call <- function(method, args) { | |
if (is.null(.client)) { | |
stop( | |
"No client conigured", | |
"\nplease use $configure() function to set client", | |
call. = FALSE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
x <- runif(1000) | |
plotly::plot_ly( | |
x = x, | |
type = "histogram", | |
) |> | |
plotly::layout( | |
bargap = 0.05, | |
shapes = list( | |
vline(mean(x), "mint", "mean"), |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# I usually alias this as `git arbor` | |
# | |
# I should also probably add https://stackoverflow.com/a/28502292 for the git-checkout one | |
git fetch -a -p && git branch --merged | grep -Ev \"(^\\*|master|main|dev)\" | xargs git branch -d |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#' Evaluate an R6 object within its enclosed environment | |
#' | |
#' @param x An R6 object | |
#' @param expr An expression to run | |
#' @export | |
#' @examples | |
#' Foo <- R6::R6Class( | |
#' "Foo", | |
#' public = list( | |
#' hello = function() cat("hello\n") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# nolint start: object_usage_linter. | |
sql_snakecase0 <- function(.data, new, old = new, na = "(missing)") { | |
force(old) | |
na <- as.character(na) | |
dplyr::mutate( | |
.data, | |
!!rlang::sym(new) := tolower(!!rlang::sym(old)), | |
!!rlang::sym(new) := REGEXP_REPLACE(!!rlang::sym(new), "\\%", "percent "), | |
!!rlang::sym(new) := REGEXP_REPLACE(!!rlang::sym(new), "\\#", "n "), |
NewerOlder