Skip to content

Instantly share code, notes, and snippets.

Danielle Navarro djnavarro

Block or report user

Report or block djnavarro

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@djnavarro
djnavarro / nse_hell.R
Created May 23, 2019
passing user expressions to inner functions, tidyeval and base
View nse_hell.R
# tidyeval version: tidy_outer returns
# the user expression
#
# expr quotes you
# enexpr quotes user
tidy_outer <- function(x) {
tidy_inner(!!rlang::enexpr(x))
}
@djnavarro
djnavarro / coord_trans_example.R
Last active May 13, 2019
example where coord_trans throws many warnings
View coord_trans_example.R
# from section 7.5.1 of ggplot2 book
library(ggplot2)
base <- ggplot(diamonds, aes(carat, price)) +
stat_bin2d() +
geom_smooth(method = "lm") +
xlab(NULL) +
ylab(NULL) +
theme(legend.position = "none")
@djnavarro
djnavarro / transition_filter_bayes.R
Created Apr 17, 2019
gganimated version of ASCII Bayes
View transition_filter_bayes.R
library(tidyverse)
library(asciify)
library(gganimate)
p <- ascii_data("bayes.png") %>%
ascii_map(
alphabet = as.character(0:9),
rescale = .15) %>%
ascii_plot(charsize = 4)
@djnavarro
djnavarro / mouse_to_cat.R
Created Mar 29, 2019
Transform mouse emoji into cat emoji
View mouse_to_cat.R
library(tidyverse)
library(fontr)
library(emojifont)
library(ggpolypath)
library(transformr)
library(animation)
library(Cairo)
# create the base images from cat emoji and mouse emoji!
cat <- glyph_polygon(ch = emoji("cat"), family = "EmojiOne")
@djnavarro
djnavarro / ggplot2_geomvector.R
Created Mar 30, 2019
Custom ggplot2 geom that plots a (subset of a) vector field
View ggplot2_geomvector.R
library(ggplot2)
library(dplyr)
library(tibble)
library(tidyr)
GeomVector <- ggproto("GeomVector", Geom,
required_aes = c("x", "y", "direction", "length"),
default_aes = aes(
@djnavarro
djnavarro / a_very_bad_thing.R
Created Mar 25, 2019
Probably the most malicious thing I've done with R
View a_very_bad_thing.R
# operator that reverses the direction of assignment
# only if called from the global environment
`%>>%` <- function(x,y) {
if(sys.nframe() == 1) {
assign(deparse(substitute(y)), x, parent.frame())
} else {
assign(deparse(substitute(x)), y, parent.frame())
}
}
View make_map2.R
library(geojsonio)
library(here)
library(broom)
reload <- FALSE
if(reload) {
spdf <- geojson_read(
x = here("unsw_map", "worldgeo.json"),
what = "sp"
)
@djnavarro
djnavarro / bayes_rain_viewer.R
Created Mar 12, 2019
Uses the asciify package to draw the "Bayesian rain" animation in the RStudio viewer pane
View bayes_rain_viewer.R
#devtools::install_github("djnavarro/asciify")
library(asciify)
library(magrittr)
temporary <- function(file) {
temp_dir <- tempfile()
dir.create(temp_dir)
file.path(temp_dir, file)
}
@djnavarro
djnavarro / bb_gapminder.R
Created Feb 26, 2019
draws the gganimate gapminder example, using bbc style
View bb_gapminder.R
# packages
library(tidyverse)
library(gganimate)
library(gapminder)
library(scales)
# modified version of the bbc_style function
# adapted from: https://github.com/bbc/bbplot
bbc_style2 <- function(font = "Helvetica") {
theme(
View thank_you_solid_stars.R
library(showtext)
library(fontr)
library(tidyverse)
library(transformr)
library(animation)
library(ggpolypath)
# use showfont to load the font
font_add_google("Allura")
You can’t perform that action at this time.