This file contains hidden or 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
#' Lazy expand.grid. | |
#' | |
#' Provide a lazy-eval for expand.grid, similar to python's | |
#' \code{xrange}, where the source may be too large to be fit into | |
#' memory but still accessible. | |
#' | |
#' This function returns a list of functions for accessing the lazy | |
#' \code{expand.grid}. | |
#' | |
#' The available methods within each object: |
This file contains hidden or 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
#' Sequential file naming | |
#' | |
#' (https://stackoverflow.com/a/44868545/3358272) | |
#' | |
#' @param ptn string that includes a [base::sprintf()] format string for an | |
#' integer, either `%d` or `%03d`; for example, `"filename-%03d.pdf"` | |
#' @param full.names logical, passed to [base::files()] | |
#' @return character, representing a filename that did not exist the | |
#' moment the function was called; NB: there is a potential | |
#' race-condition here |
This file contains hidden or 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
;;; my-align.el | |
;; Copyright (c) 2017 Bill Evans (r2evans) | |
;; | |
;; Author: Bill Evans | |
;; Created: 2017 Aug 03 | |
;; Keywords: code align programming | |
;;; Commentary: | |
;; Simple wrapper wround 'align-regexp' with sane defaults. | |
;; Based on code first seen here |
This file contains hidden or 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
#' Programmatically produce row-independent `tribble`s | |
#' | |
#' @param x data.frame | |
#' @param max_width integer, the widest normalized width; if data or a | |
#' header is longer than this, it will not be truncated, but it will | |
#' also not be aligned with the others; can be single number (for | |
#' all) or a vector (for each column) | |
#' @param collapse character, the separation text, defaults to `", "` | |
#' @param compact logical, "no undue spaces"; if `TRUE` then sets | |
#' `max_width=0`, `collapse=","`, and disallows prepending |
This file contains hidden or 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
#' NDC caching for cross-facet plot elements | |
#' | |
#' Useful when using [layout()] and drawing things *between* different | |
#' plots. Motivated by https://stackoverflow.com/q/49464991/3358272. | |
#' | |
#' @details | |
#' | |
#' When adding plot "things" (lines, points, arrows) between facets of | |
#' a `layout` combination, in addition to `x` and `y`, you simply | |
#' provide the plot number within the sequence. (Since this is the |
This file contains hidden or 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
#' Mid-pipe assertions | |
#' | |
#' Test assertions mid-pipe. Each assertion is executed individually | |
#' on each group (if present) of the piped data. Any failures indicate | |
#' the group that caused the fail, terminating on the first failure. | |
#' | |
#' If `.debug`, then the interpreter enters the `browser()`, allowing | |
#' you to look at the specific data, stored as `x` (just the grouped | |
#' data if `is.grouped_df(.x)`, all data otherwise). If the data is | |
#' changed, then the altered data will be sent forward in the pipeline |
This file contains hidden or 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
#' Wrap a frame across multiple columns | |
#' | |
#' https://stackoverflow.com/a/52669757/3358272 | |
#' @param x `data.frame` | |
#' @param nr,nc `integer`; specify only one of these, the number of | |
#' rows or columns to be fixed | |
#' @param rownames if `NULL` (default), row names (if found) are | |
#' discarded; if `character`, then a column is added (on the left of | |
#' `x`) with this as its title | |
#' @param byrow `logical`; if `FALSE`, the first column will match the |
This file contains hidden or 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
#!/bin/bash | |
# changing a single repo with subdirs like this: | |
# | |
# origrepo | |
# +-- subdir1 | |
# +-- subdir2 | |
# | |
# into a different/new repo with rearranged dirs (and discarded files), | |
# editing the full history |
This file contains hidden or 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
#' 'Reduce' with arbitrary number of arguments | |
#' | |
#' Applies a function to the corresponding elements of given vectors, | |
#' in a reductionist way. (This is *not* related to the [Apache Hadoop | |
#' MapReduce](https://hadoop.apache.org/) project ... while this may | |
#' suggest the name 'MapReduce' is a poor choice for this function, it | |
#' is a logical combination of R's [Map()] and [Reduce()] functions.) | |
#' | |
#' @details | |
#' |
This file contains hidden or 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
#' Pattern-matching tryCatch | |
#' | |
#' Catch only specific types of errors at the appropriate level. | |
#' Supports nested use, where errors not matched by inner calls will | |
#' be passed to outer calls that may (or may not) catch them | |
#' separately. | |
#' | |
#' @details | |
#' | |
#' Exception handling with a little finer control over *where* a |
OlderNewer