Skip to content

Instantly share code, notes, and snippets.

View gadenbuie's full-sized avatar

Garrick Aden-Buie gadenbuie

View GitHub Profile
---
title: Reading a YAML chunk
output: github_document
---
Here's a simple YAML chunk (with the label `config`):
```{yaml config}
default:
user: "garrick"
@gadenbuie
gadenbuie / pkgdown-watch.R
Last active May 11, 2023 03:40
Watch a package and rebuild pkgdown docs when they change
#!/usr/bin/env -S Rscript --vanilla
rlang::check_installed(c("docopt", "pkgdown", "servr", "fs", "pkgload"))
'usage:
pkgdown-watch [--port=<port> --rebuild --no-sound]
pkgdown-watch -h | --help
options:
--port=<port> Port to use for the server [default: 4323]
snps <-
list(r = "~/.config/rstudio/snippets/r.snippets") %>%
purrr::map(readLines, warn = FALSE) %>%
purrr::map(paste, collapse = "\n") %>%
purrr::map(trimws) %>%
purrr::map(strsplit, split = "(^|\n)snippet ") %>%
purrr::map_depth(2, ~ .x[.x != ""]) %>%
purrr::map_depth(2, ~ {
nm <- gsub("^([^\n\t ]+).*", "\\1", .x)
names(.x) <- nm
library(tidyverse)
checks <- cchecks::cch_pkgs_history(x = "xaringanthemer", limit = 50)
checks$data$history |>
unnest(checks) |>
filter(status != "OK") |>
mutate(across(date_updated, lubridate::ymd_hms)) |>
arrange(date_updated) |>
mutate(
@gadenbuie
gadenbuie / r-code-for-wide-months.R
Created August 16, 2022 03:19
From date to month to columns with a crosstab
library(tidyverse)
library(lubridate)
# https://data.cityofchicago.org/Public-Safety/Crimes-2015/vwwp-7yr9
crimes <- read_csv("crimes.csv", lazy = TRUE, show_col_types = FALSE)
crimes |>
slice_sample(n = 500) |>
mutate(
Date = mdy_hms(Date),
# These functions were borrowed from klmr/box
# https://github.com/klmr/box/tree/5e411d47/scripts
verify_function_has_value = function (file) {
rd = tools::parse_Rd(file)
type = find_tag(rd, 'docType')
(length(type) != 0L && type != 'function') || length(find_tag(rd, 'value')) != 0L
}
find_tag = function (rd, tag) {
library(dplyr)
library(dbplyr)
library(starwarsdb)
con <- starwars_connect()
tbl(con, sql("select * from films"))
#> # Source: SQL [?? x 6]
#> # Database: duckdb_connection
#> title episode_id opening_crawl director producer release_date
gist_to_carbon <- function(
gist_id,
file = "code.png",
bg = "#4A90E2",
bg_alpha = 1,
theme = "shades-of-purple",
font = "Fira+Code",
lang = "auto",
drop_shadow = TRUE,
width = 680,
library(dplyr)
library(tidyr)
library(purrr)
r_versions <- jsonlite::read_json("https://rversions.r-pkg.org/r-versions")
add_r_4_2 <- function(x) {
has_r_4_2 <- x %>%
filter(major == 4, minor == 2) %>%
nrow() %>%