Skip to content

Instantly share code, notes, and snippets.

View nutterb's full-sized avatar

Benjamin nutterb

  • Battelle Memorial Institute
  • Kentucky
View GitHub Profile
@nutterb
nutterb / limerick.txt
Created March 15, 2017 20:48
I want to download this file
A silly young man from Clyde
In a funeral procession was spied;
When asked, "Who is dead?"
He giggled and said,
"I don't know; I just came for the ride."
(source: https://www.brownielocks.com/Limericks.html)
@nutterb
nutterb / dust_inline_example.Rmd
Created January 20, 2017 17:18
dust_inline example
---
title: "Untitled"
output: html_document
---
```{r}
library(pixiedust)
fit <- lm(mpg ~ qsec * factor(gear) + factor(am), data = mtcars)
```
@nutterb
nutterb / Additional Work by Frank
Last active January 6, 2017 18:35
An example of a case where a `for` loop isn't any slower than `lapply`. In fact, it is consistently faster than a typical `lapply`, though I can get very close to the execution time of the `for` loop if I use `<<-` in the `lapply`. Take a look at http://stackoverflow.com/questions/41471757/update-pairs-of-columns-based-on-pattern-in-their-names#…
# Adding lapply versions to http://stackoverflow.com/a/41511889/1017276
library(magrittr)
library(data.table)
library(microbenchmark)
set.seed(pi)
nc = 1e3
nr = 1e2
df_m0 = sample(c(1:10, NA_integer_), nc*nr, replace = TRUE) %>% matrix(nr, nc) %>% data.frame
df_r = sample(c(1:10), nc*nr, replace = TRUE) %>% matrix(nr, nc) %>% data.frame
@nutterb
nutterb / dummy_variables.R
Created December 30, 2016 12:43
Options for Creating Dummy Variables
library(magrittr)
dummy_ifelse <- function(x)
{
if (!is.factor(x)) stop("x is not a factor")
lev <- levels(x)
lapply(lev[-1],
function(l) ifelse(x %in% l, 1, 0)) %>%
@nutterb
nutterb / significance stars
Created October 15, 2016 13:16
Pixiedust with significance stars
#' @name pvalString
#' @export pvalString
#'
#' @title Format P-values for Reports
#' @description Convert numeric p-values to character strings according to
#' pre-defined formatting parameters. Additional formats may be added
#' for required or desired reporting standards.
#'
#' @param p a numeric vector of p-values.
#' @param format A character string indicating the desired format for
@nutterb
nutterb / installer
Last active September 7, 2016 21:56
Install basic packages for STA 580
source("https://gist.githubusercontent.com/nutterb/23dee9325312d9a71ed5828df1ffd24a/raw/e6d1f2a05b774289246cf28f90902ece4763f92d/packages.R")
@nutterb
nutterb / medley_all_border.R
Last active April 8, 2016 16:27
A LaTeX safe approach to applying borders to all cells using pixiedust
medley_all_border <- function(x, part = c("table"))
{
part <-
match.arg(part,
c("table", "head", "body", "interfoot", "foot"),
several.ok = TRUE)
part <-
if ("table" %in% part)
{
c("head", "body", "interfoot", "foot")
@nutterb
nutterb / directorySearch
Created April 8, 2016 13:27
When I'm developing packages, sometimes I just want to find the files that contain a particular variable. This helps me search all of the files for the existence of a string pattern.
directorySearch <- function(dir, pattern, ...)
{
files <- list.files(dir)
suppressWarnings(
Code <- lapply(file.path(dir, files),
readLines)
)
files[vapply(Code,
@nutterb
nutterb / saveNullDate
Created January 31, 2016 01:36
dateInput save as NULL
library(shiny)
ui <- shinyUI(
fluidPage(
dateInput(inputId = "date",
label = "Signature Date",
value = ''),
actionButton(inputId = "save_signature",
label = "Print Signature"),
verbatimTextOutput("date_value"),
@nutterb
nutterb / Rectangles.R
Created October 23, 2015 13:00
Speed comparisons for different methods of comparing rectangles
#* A broader experiment on this stack overflow question
#* http://stackoverflow.com/questions/33298196/how-to-avoid-a-double-for-loop-when-accessing-all-combinations-of-colums-of-a-ma/33301080?noredirect=1#comment54403634_33301080
#* I really need to find something better to do with my Friday mornings
#* Change n to make a larger experiment
n <- 1000
#* Change reps to run more cycles in 'microbenchmark'
reps <- 10