Although this may evolve over time, the primary language used in these Code Clubs will be R and we will use RStudio as the primary interface for our activities. To participate, you will need internet access, R, Rstudio, and the tidyverse package. Here are some instructions to help you get set up and ready for your first Code Club.
-
Sep 23, 2024
Closing issues on GitHub when building R packages with test driven development (CC303)
Putting it all together
-
Sep 16, 2024
The effect of debug mode when benchmarking R package performance (CC302)
Putting it all together
-
Sep 9, 2024
Using the precommit R package to automate testing code and documentation quality(CC301)
Pre-commit hooks with R package development
-
Aug 26, 2024
Using lintr and styler to improve the quality and readability of R code (CC300)
Stylish R code
-
Aug 19, 2024
How to use GitHub actions to build on other operating systems and test code coverage (CC299)
Integrating R package development and GitHub actions
-
Aug 12, 2024
How to create a website for your R package with pkgdown (CC298)
Host a website for your R package for free
-
Aug 5, 2024
How to create a vignette for an R package (CC297)
Write a vignette for your R package
-
Jul 29, 2024
How to create a data only R package with devtools (CC296)
Creating a data R package
-
Jul 22, 2024
Using the BFG Repo-Cleaner to delete files from your GitHub history (CC295)
Removing big and sensitive data from git and GitHub
-
Jul 15, 2024
Adding built in data to an R package (CC294)
Creating a pre-build dataset
-
Jul 8, 2024
Using Roxygen2 to document functions in an R package (CC293)
Documenting R functions with Roxygen2
-
Jul 1, 2024
Benchmarking R functions for joining data frames (CC292)
Joins with base R, dplyr and data.table
-
Jun 24, 2024
Benchmarking R functions for reading tsv files (CC291)
Tradeoffs between performance and dependencies
-
Jun 17, 2024
Benchmarking methods for reading text files in R (CC290)
Refactoring a function for speed
-
Jun 10, 2024
Writing an R function to read FASTA-formatted files (CC289)
Making use of the tempfile function
-
Jun 3, 2024
Incorporating C++ code in an R package with Rcpp and devtools (CC288)
Will our code run any faster?
-
May 30, 2024
Integrating ideas from Stack Overflow to improve our R code (CC287)
Getting R help from Stack Overflow
-
May 27, 2024
Using R's profvis package to diagnose and resolve bottlenecks (CC286)
Profiling R code with profvis
-
May 23, 2024
Base R's paste and paste0 functions: how to use the sep and collapse arguments (CC285)
How to use R's paste and paste0 functions
-
May 20, 2024
Finding the consensus classification using anonymous functions (CC284)
Fun with anonymous functions
-
May 16, 2024
Generating and classifying bootstrap replicates with test driven development (CC283)
TDD for the win
-
May 9, 2024
Refactoring R code to make it faster and more memory efficient (CC281)
Refactoring with TDD
-
May 9, 2024
Benchmarking string manipulations with base R, stringi, and stringr (CC282)
stringi is really fast
-
May 6, 2024
Renaming our R package, updating RStudio and R, organizing code, and passing Check! (CC280)
Introducing phylotypr
-
May 2, 2024
Comparing duckdb and duckplyr to tibbles, data.tables, and data.frames (CC279)
Benchmarking R's data frames (part 3)
-
Apr 29, 2024
Accessing values from data frames, data tables, tibbles, matrices, and vectors (CC278)
Benchmarking R's data frames (part 2)
-
Apr 25, 2024
The tutorial you need to maximize your use data frames in R (CC277)
Benchmarking R's data frames (part 1)
-
Apr 22, 2024
The tutorial you need to maximize your use of R's lists (CC276)
Benchmarking R's lists
-
Apr 18, 2024
Evaluating the performance of various methods for generating vectors in R (CC275)
Benchmarking R's vectors (part 2)
-
Apr 15, 2024
The Team, The Team, The Team: Reductionism vs holism in microbiome research (CC274)
Stick with holism
-
Apr 11, 2024
The tutorial you need to maximize your use of R's vectors (CC273)
Benchmarking R's vectors (part 1)
-
Apr 8, 2024
Brute force building a kmer database in R (CC272)
Putting things together
-
Apr 4, 2024
Using base R and testthat to calculate probabilities (CC271)
testthat and TDD
-
Apr 1, 2024
Base conversion in R to represent DNA sequences in base 4 (CC270)
10 different nucleotides
-
Mar 28, 2024
Demonstration of test driven development in R with testthat (CC269)
TDD in R
-
Mar 25, 2024
Understanding the RDP's Bayesian Classifier for 16S rRNA genes (CC268)
Journal Club!
-
Mar 21, 2024
Picking a name for my R package (CC267)
Creating the skeleton for a new R package
-
Mar 18, 2024
Development of a example R package (CC266)
Creating the regexcite R package
-
Mar 14, 2024
How to turn your git history into a GIF with imagemagick (CC265)
Dumping your git history
-
Nov 10, 2022
How to add maps to a ggplot2 figure in R (CC264)
Adding country outlines
-
Nov 7, 2022
Incorporating logic into a visual made with R using a case_when statement (CC263)
Adding some polish with case_when
-
Nov 3, 2022
How to use a custom font in R with showtext and google fonts (CC262)
Using showtext with google fonts
-
Oct 31, 2022
Rewrite your commit history using git rebase to squash commits (CC261)
Pros and cons of git rebase
-
Oct 27, 2022
Using GitHub actions to run Snakemake pipelines (CC260)
Reproducible pipelines with GitHub actions
-
Oct 24, 2022
Using GitHub pages to host a web page made with Rmarkdown (CC259)
GitHub pages and R Markdown
-
Oct 20, 2022
Creating a heatmap map with geom_tile from ggplot2 in R (CC258)
How to make a heat map in R
-
Oct 17, 2022
How to force Snakemake to rerun a rule and visualize a pipeline (CC257)
Fun with reproducibility
-
Oct 13, 2022
Live coding in R: No edits! Pat calculates the z-score (CC256)
Normalizing failure
-
Oct 10, 2022
Thank you! Riffomonas channel hits 10,000 subscribers (CC255)
100,000 here we come!
-
Oct 6, 2022
Join data frames in R with inner_join and anti_join (CC254)
Fun with inner_join and anti_join
-
Oct 3, 2022
Six approaches to rounding numbers in R (CC253)
round, trunc, floor, ceiling, signif, as.integer
-
Sep 29, 2022
How to split files from the command line and integrate bash and R scripts (CC252)
Splitting and integrating
-
Sep 22, 2022
Using the archive R package to read and write tar.gz and other archive files (CC250)
Fun tools in the readr package
-
Sep 19, 2022
R tools in readr for reading in fixed width files and other formats (CC249)
Fun tools in the readr package
-
Sep 15, 2022
An introduction to Snakemake tutorial for beginners (CC248)
Tracking dependencies with Snakemake
-
Sep 12, 2022
How to write a bash script for your reproducible data analysis pipeline (CC247)
Bash scripting a reproducible pipeline
-
Sep 8, 2022
Organizating a new project with git and conda and synching it to GitHub (CC246)
Visualizing drought
-
Sep 6, 2022
Using the dplyr lag and lead function to find the length of drought (CC245)
Is Ann Arbor getting more or less droughty with time?
-
Sep 1, 2022
A head to head comparison of the base R and magrittr pipe (CC244)
More pipes
-
Aug 29, 2022
Recreating a jitter plot made with R's ggplot2 two years later (CC243)
An R time capsule
-
Aug 25, 2022
Comparing the same multi-panel figure made using facet_wrap, facet_grid, and patchwork (CC242)
Multi-panel figures in R
-
Aug 22, 2022
The magrittr and base R pipe: what's the difference? (CC241)
Team magrittr
-
Aug 18, 2022
Using the drop argument with factors in count and group_by to include missing data (CC240)
Fun with factors!
-
Aug 15, 2022
Creating a sliding window with the slider R package to quantify the level of drought (CC239)
That wasn't even the dryest summer!
-
Aug 11, 2022
Using factors in R to create a new calendar and see how much snow do we get in Michigan (CC238)
Can't wait for winter!
-
Aug 8, 2022
Fitting and visualizing linear regression models with the ggplot2 R package (CC237)
Putting the stats back in Rstats
-
Aug 4, 2022
Stylizing the appearance of facet labels with ggplot2's facet_wrap (CC236)
Everything you'd want to know about facet_wrap
-
Aug 1, 2022
Visualizing correlation with double y-axes using the ggplot2 R package (CC235)
How and why not.
-
Jul 28, 2022
Using lubridate and ggplot2 to work with dates in R (CC234)
Has this year been wetter than most?
-
Jul 25, 2022
Using dplyr's group_by function with and without summarize (CC233)
Calculating group averages and normalizing temperature data
-
Jul 21, 2022
Removing outliers in R with tools from dplyr and ggplot2 (CC232)
Dealing with data anomalies
-
Jul 18, 2022
Scraping weather data from the internet with R and the tidyverse (CC231)
What's the weather like where you live?
-
Jul 14, 2022
How to create a conda or mamba environment for R programming to enhance reproducibility (CC230)
It's not just for Python
-
Jul 11, 2022
Using renv to track the version of your packages in R (CC229)
Automate what packages get loaded
-
Jul 7, 2022
A rug chart in R with ggplot2's geom_segment showing latitudinal temperature anomalies (CC228)
Fun with geom_segment
-
Jul 5, 2022
Creating a raster map of global climate change in R with ggplot2's geom_raster (CC227)
Combining geom_raster
and facet_grid
-
Jun 30, 2022
How to create a ridgeline plot in R with ggridges in RStudio (CC226)
Showing a change in distributions with time
-
Jun 27, 2022
Programming a line plot in R to show climate change with and without animation (CC225)
Static and animated line plot
-
Jun 23, 2022
Demonstrating climate change using the ggplot2 R package to create a tornado plot (CC224)
Fun with geom_segment
-
Jun 20, 2022
Using R to make a 3D interactive figure showing climate change with plotly (CC223)
Interactive! 3D!
-
Jun 16, 2022
How to create spirals in cartesian coordinates with ggplot2 in R (CC222)
Fun trigonometry fun
-
Jun 13, 2022
Why should we engage in open data science? 2022 ASM Microbiome Data Prize Talk (CC221)
Open science is critical to the advancement of all science
-
Jun 9, 2022
How I adapt one figure to look like another in R (CC220)
Creating NASA's version of a climate spiral
-
Jun 6, 2022
Recreating animated climate temperature spirals in R with ggplot2 and gganimate (CC219)
Animated climate spiral
-
Jun 2, 2022
How to recreate climate temperature spirals in R with ggplot2 (CC218)
Polar coordinates!
-
May 30, 2022
Using ggplot2 to recreate a line plot of annual temperature anomalies (CC217)
More fun with color gradients
-
May 26, 2022
Using ggplot2 to recreate iconic warming stripes visualization of climate change (CC216)
It's getting warmer
-
May 23, 2022
Plotting the global temperature index as bars using ggplot2 and NASA GISS data (CC215)
Fun with the scale_fill_gradient functions
-
May 19, 2022
Plotting the global temperature index using ggplot2 and NASA GISS data (CC214)
Spoiler: it's getting warmer
-
May 16, 2022
Tutorial for Creating a new RStudio project with GitHub to visualize climate change (CC213)
New project day!!!
-
May 12, 2022
Using the rentrez R package to search PubMed to plot the number of papers by year (CC212)
How fast is the microbiome literature growing?
-
May 9, 2022
Using the mantel test to compare ecological matrices using the vegan R package (CC211)
Comparing phylogenetic and bin-based approaches
-
May 5, 2022
Is phylogenetic diversity any better than richness or Shannon diversity? (CC210)
Not really
-
May 2, 2022
How to use R to create a heatmap from a distance matrix with ggplot2 (CC209)
Building a heatmap from a matrix
-
Apr 29, 2022
Using adonis and betadisper from the vegan R package to compare groups (CC208)
Testing for significance with beta diversity
-
Apr 25, 2022
Alternatives to ordination in R: Visualizing community change relative to a specific point (CC207)
Replacing ordinations
-
Apr 21, 2022
Alternatives to ordination in R: Visualizing community change relative to a specific point (CC206)
Replacing ordinations
-
Apr 18, 2022
Alternatives to ordination: Displaying one day time lag in beta diversity (CC205)
Replacing ordinations
-
Apr 14, 2022
Alternatives to ordination: Displaying temporal trends in beta diversity (CC204)
Ordinations are over rated
-
Apr 11, 2022
How to create a biplot using vegan and ggplot2 (CC203)
So much tidyverse
-
Apr 7, 2022
How to find the best sampling depth for rarefaction (CC202)
This isn't an arbitrary process
-
Apr 4, 2022
Is richness estimation an alternative to rarefaction? Trying breakaway and Chao1 (CC201)
Integrating complex data with nest/map/unnest
-
Mar 31, 2022
How to rarefy community data in R with vegan and the tidyverse (CC200)
Using rarefy, rrarefy, drarefy, and rarecurve
-
Mar 24, 2022
Generating a rarefaction curve from collector's curves in R within the tidyverse (CC198)
Species abundance curves and rarefaction
-
Mar 24, 2022
Using R to compare empirical and exact rarefaction values (CC199)
It's all in the number of iterations
-
Mar 21, 2022
Implementing the mathematical formula for rarefaction to measure richness in R (CC197)
Finding an exact solution for rarefaction
-
Mar 17, 2022
Using vegan to calculate alpha diversity metrics within the tidyverse in R (CC196)
Writing functions in R
-
Mar 14, 2022
How to use DESeq2's variance stabilizing transformation with microbiome data (CC195)
VST is not scale invariant
-
Mar 11, 2022
How to calculate the Aitchison distance in R using two center logratio transformations (CC194)
Aitchison distance is not scale invariant
-
Mar 7, 2022
Rarefaction controls the false positive rate when using adonis from the vegan R package (CC193)
Creating a simulation in R
-
Mar 3, 2022
Repeating and parallelizing a function in R with the purrr and furrr packages (CC192)
Relationship between sampling depth and Bray-Curtis distances
-
Feb 28, 2022
Differences in sampling effort impact Bray-Curtis distances and rarefaction can minimize it (CC191)
Using cut_width to discretize data
-
Feb 24, 2022
Is normalization an acceptable alternative to rarefaction? Nope. (CC190)
Rarefaction vs. normalization
-
Feb 21, 2022
Rarefying ecological distances with R: Should you? (CC189)
Yes.
-
Feb 17, 2022
Using the vegan R package to ecological distances (CC188)
Using vegdist and avgdist
-
Feb 14, 2022
Running non-metric multidimensional scaling (NMDS) with in R with vegan and ggplot2 (CC187)
NMDS with R's vegan and ggplot2
-
Feb 10, 2022
Performing principle coordinate analysis (PCoA) in R and visualizing with ggplot2 (CC186)
PCoA with base R and ggplot2
-
Feb 7, 2022
Reshaping data in R to be long or wide with pivot_longer and pivot_wider (CC185)
Filtering a distance matrix in R
-
Feb 3, 2022
Advanced regular expressions in R with str_replace and separate (CC184)
Advanced regular expressions in R
-
Jan 31, 2022
How to write a simple regular expression with R using sub and str_replace (CC183)
Basic regular expressions in R
-
Jan 27, 2022
An alternative to Rstudio? Make your own R integrated development environment (CC182)
You don't have to use RStudio
-
Jan 24, 2022
How to download files and directories from GitHub without using git (CC181)
Using git without knowing it
-
Jan 20, 2022
What's the difference between a matrix, data frame, and tibble in R? (CC180)
Matrices, distance matrices, data frames, and tibbles
-
Jan 17, 2022
Using paths in R and why you shouldn't be using setwd (CC179)
Navigating your project from within R
-
Jan 13, 2022
Three approaches to organize your R project (CC178)
Using R, a GUI, and bash with git to organize a project
-
Jan 10, 2022
A tutorial for writing functions in R (CC177)
Nearly everything you need to know to start writing functions
-
Jan 6, 2022
How to get and set attributes of objects in R with the attr other functions (CC176)
How to change the data about your data
-
Jan 3, 2022
How to write an if else block in R and how its different from ifelse and if_else (CC175)
When to use if...else vs. ifelse or if_else
-
Dec 23, 2021
Indexing and looping over lists in R, a tutorial (CC174)
Replacing a for loop with lapply
-
Dec 20, 2021
For loops in R: a tutorial on how to simplify your code without compromising performance (CC173)
High-performance for loops in base R
-
Dec 16, 2021
Creating and using a matrix using base R (CC172)
Working with vectors in base R
-
Dec 13, 2021
Using base R to access and remove values from a vector (CC171)
Working with vectors in base R
-
Dec 9, 2021
Creating a vector in base R with the c, :, seq, and rep functions (CC170)
Everything in R is a vector
-
Dec 6, 2021
Using the R scan function to read non-rectangular data (CC169)
Reading irregular data into R with scan
-
Dec 2, 2021
R vs Python: Which should you learn for reproducible data science (CC168)
The first programming language you should learn
-
Nov 29, 2021
Getting and giving help in a R discussion forum: How to alter borders on plotting symbols (CC167)
Overriding the appearance of ggplot2 legends
-
Nov 24, 2021
Using the patchwork R package to combine two ggplot2 plots into one figure (CC166)
Assembling figures with patchwork
-
Nov 22, 2021
Visualizing the same data four ways wiht ggplot2: slope, dumbbell, scatter, and dot charts (CC165)
Experimenting with ggplot2
-
Nov 18, 2021
Using dplyr's join functions in R to filter and merge data frames (CC164)
All the ways to join data with dplyr
-
Nov 15, 2021
Using dplyr's group_by for grouping data in R (CC163)
Using group_by without summarize
-
Nov 11, 2021
Using dplyr's slice and arrange functions in R to order and pick rows from a data frame (CC162)
How to arrange rows in R
-
Nov 8, 2021
Using dplyr's filter function to pick rows from a data frame in R (CC161)
Everything you ever wanted to know about filter
-
Nov 4, 2021
Using the select function and its helper functions in R to pick columns from a data frame (CC160)
Everything you ever wanted to know about select
-
Nov 1, 2021
Finding and loading data into R (CC159)
Loading data without downloading a file
-
Oct 28, 2021
Cleveland dot chart vs bar plot with R's ggplot2 (CC158)
Plotting the difference in intention
-
Oct 25, 2021
Creating a labeled scatter plot in R with ggplot2 (CC157)
Labelled scatter chart
-
Oct 21, 2021
Create an interactive slope chart with the plotly and ggplot2 R packages (CC156)
Making an interactive figure
-
Oct 18, 2021
Applying concepts from Storytelling with Data in R using ggplot2 (CC155)
Using color to highlight message
-
Oct 14, 2021
Manipulating position scales for continuous and discrete data in ggplot2 (CC154)
Changing axis values
-
Oct 11, 2021
Easy ways to go back in your git commit history with RStudio (CC153)
Creating a parallel analysis with git
-
Oct 7, 2021
How to create your own custom ggplot2 theme (CC152)
Manipulating theme options
-
Oct 4, 2021
Creating a color gradient in R with ggplot2 (CC151)
Manipulating color with ggplot2
-
Sep 30, 2021
How to prevent labels from overlapping in R with ggplot2 and ggrepel packages (CC150)
Separating text labels
-
Sep 27, 2021
How to add text to a figure using the R ggplot2 package with geom_text (CC149)
Replacing a legend with text labels
-
Sep 23, 2021
How to set the order and value of factors in R using factor and fct_reorder (CC148)
Plotting with categorical and ordinal data
-
Sep 20, 2021
Modifying the appearance of text in an R figure with ggplot2's theme function (CC147)
Everything you'd ever want to know about modifying appearance of text in a ggplot2 figure
-
Sep 16, 2021
Two methods of creating a slope plot in R with ggplot2 (CC146)
Converting a dumbbell chart into slope plot
-
Sep 13, 2021
Connecting an existing RStudio project to git and GitHub (CC145)
Synergy between two great tools
-
Sep 9, 2021
A data visualization makeover: riffing off of other people's COVID-19 figures (CC144)
Focusing a data visualization story
-
Sep 6, 2021
Resources for learning R (CC143)
How to start your own Code Club
-
Sep 2, 2021
Data visualization review: How I critique visuals and plan what to change (CC142)
How to constructively critique a figure
-
Aug 30, 2021
Positioning and formatting a legend in the ggplot2 R package (CC141)
Putting on the finishing touches
-
Aug 26, 2021
Customizing fonts in R with an installed font and directly from google fonts (CC140)
How to use anything but arial as your font in a figure
-
Aug 23, 2021
Four ways to set a color in R using ggplot2 and how to read hexadecimal (CC139)
Color matching with the digital color meter and ggplot2
-
Aug 19, 2021
How to add an arrow to lines in R to indicate the passage of time (CC138)
Making our own geom_arrow
-
Aug 17, 2021
How to create alternating background colors in R with ggplot2 (CC137)
Recreating a figure showing desire to receive COVID-19 vaccine
-
Aug 12, 2021
Recreating a labelled dumbbell chart in R showing people's openness to the COVID-19 vaccine (CC136)
Get vaccinated!
-
Aug 9, 2021
How to pool ROC curves in R to better understand a model's performance (CC135)
Comparing machine learning models
-
Aug 5, 2021
Understanding model interpretability in R with ggplot2 and mikropml (CC134)
Visualizing the features of machine learning models
-
Aug 2, 2021
Using ggplot2 to group x-axis discrete values into subgroups (CC133)
Creating multi grouped x-axis titles and labels
-
Jul 29, 2021
Applying the DRY principle to repetitive R code (CC132)
Learning what new to you code is doing
-
Jul 26, 2021
How to understand R code written by someone else (CC131)
Learning what new to you code is doing
-
Jul 21, 2021
Three ways to use slurm on a high performance computer (HPC) (CC130)
Submitting jobs on an HPC
-
Jul 19, 2021
ACCEPTED! What to check when examining paper proofs (CC129)
Reviewing page proofs
-
Jul 16, 2021
Creating an executable R script that you can parallelize with GNU Make (CC128)
Writing programs with R
-
Jul 14, 2021
How to run your R code in parallel with the furrr package (CC127)
Performing 100 splits in parallel
-
Jul 12, 2021
How to tune hyperparameters for machine learning in R with the mikropml package (CC126)
Hyperparameter selection with mikropml
-
Jul 9, 2021
Building machine learning models in R with mikropml: preprocessing data (CC125)
Preprocessing data with mikropml
-
Jul 7, 2021
Introduction to building machine learning models in R with mikropml (CC124)
Introducing mikropml
-
Jul 5, 2021
Creating multiple ROC curves in R with custom functions and map, map_dfr, and map2 (CC123)
Building ROC curves
-
Jul 2, 2021
Testing for significance with microbiome data on individual taxa using R (CC122)
Using map with wilcox.test
-
Jun 30, 2021
Cleaning and manipulating data with the tidyverse: dplyr, readr, and stringr in action (CC121)
Data curation with the tidyverse
-
Jun 28, 2021
Integrating RStudio with a new or existing project on GitHub (CC120)
Creating an RStudio project from a GitHub repository
-
Jun 24, 2021
How to respond to peer review and prepare to resubmit a manuscript (CC119)
Reading scary emails
-
Jun 21, 2021
Juneteenth 2021: Creating a data based movie in R with gganimate of lynchings (CC118)
Creating a movie to 'say' victims' names
-
Jun 18, 2021
Juneteenth 2021: Using ggplot2 and R to create a map showing the history of lynchings (CC117)
Creating a map of horror
-
Jun 16, 2021
Juneteenth 2021: a data visualization of lynchings using R's ggplot2 package (CC116)
Using R skills for good
-
Jun 14, 2021
Using functions from the ggtext R package to customize the appearance of text in figures (CC115)
Trying to emulate the original LDA score plot
-
Jun 10, 2021
Using the R system function to run another program and create lefse LDA plots (CC114)
Running mothur through R
-
Jun 8, 2021
How to dynamically add significance bars and stars to a figure in ggplot2 (CC113)
Indicating significance
-
Jun 3, 2021
Using the broom R package to easily perform thousands of statistical tests (CC112)
Testing for signifance with OTU data
-
Jun 1, 2021
String manipulation in R with regular expressions using stringr and glue (CC111)
Removing underscores and applying italicization to axis labels
-
May 28, 2021
Using a log scale for an axis using the ggplot2 R packge (CC110)
Increasing separation among low abundance populations
-
May 26, 2021
Creating a grouped box plot and range plot in ggplot2 with stat_summary and geom_boxplot (CC109)
Using range plot to simplify data presentation
-
May 24, 2021
How to create a grouped plot of jittered data with the ggplot2 R package (CC108)
Using jitterplots to represent relative abundance data
-
May 21, 2021
How to create a grouped bar chart in R with ggplot2's geom_col and position_dodge functions (CC107)
Dodging stacked bar charts
-
May 19, 2021
Grouped stacked barchart for individuals using ggplot2 with geom_col and facet_grid (CC106)
Faceting stacked barcharts
-
May 17, 2021
How to create a heatmap in R with geom_tile and geom_text from ggplot2 (CC105)
Creating and customizing heatmaps
-
May 14, 2021
Creating a pie chart in R with ggplot2 using microbiome data ... and why you shouldn't (CC104)
Getting the most from a pie chart
-
May 12, 2021
Improving the appearance of a stacked barchart with ggplot2, dplyr, and forcats (CC103)
Improving the appearance of a problematic figure
-
May 10, 2021
Creating a stacked barchart in R with ggplot2 with microbiome data (CC102)
Remaking and critiquing an iconic chart type
-
May 7, 2021
How to clean and join data from mothur with the dplyr R package (CC101)
Using dplyr with mothur data
-
May 5, 2021
Animate two synchronized figures in R with gganimate, magick, and ggplot2 (CC100)
Aminating graphs in R
-
May 3, 2021
Learning to use the patchwork R package (how to learn a package in general) (CC099)
Creating multipanel figures in R
-
Apr 30, 2021
How to combine multiple plots in R with cowplot and ggplot2 (CC098)
Creating multipanel figures in R
-
Apr 28, 2021
Using geom_line to change the appearance of a line plot with ggplot2 in R (CC097)
Creating attractive ROC curves
-
Apr 26, 2021
Writing DRY code in R with functions
Creating a ROC curve with homemade functions in R
-
Apr 23, 2021
Adding lines and stars to indicate signficance to a faceted figure
For fun with stars and bars
-
Apr 21, 2021
Rotating axis labels and flipping coordiantes in R
Using coord_flip and guide_axis to improve the readability of a figure
-
Apr 19, 2021
Welcome to the Riffomonas channel!
We crossed the 1,000 subscriber threshold. Is 100,000 possible? YES!
-
Apr 16, 2021
Testing for significance and showing significant results with R
Using kruskal.test and pairwise.wilcox.test to compare groups
-
Apr 14, 2021
Creating a violin with the data overlayed as a stripchart or dotplot
Combining geom_violin and geom_dotplot or geom_jitter
-
Apr 12, 2021
Creating a boxplot with the data overlayed as a stripchart/jitter plot
Combining geom_jitter and geom_boxplot or stat_summary
-
Apr 9, 2021
Creating a strip chart/jitter plot with a line to indicate the median
Combining geom_jitter and stat_summary
-
Apr 7, 2021
Using stat_summary to add a statistics layer to ggplot2 figures
Why didn't I know about this function!?
-
Apr 5, 2021
Creating barplots with error bars in ggplot2
Should we be using barplots in scientific papers?
-
Apr 2, 2021
Plotting principal coordinate axis 1 vs diversity in ggplot2
Blending community structure analyses with other data
-
Mar 31, 2021
Scaling the size of points in an ordiantion by diversity
A bubble chart for microbial ecology
-
Mar 29, 2021
Replacing paste and paste0 with the glue R package
Easier intergration of variable values into text
-
Mar 26, 2021
Incorporating interactivity with the plotly R package
Adding more data with interactivity
-
Mar 24, 2021
Visualizing an ordination in 3D with RGL
Leveraging the RGL R package
-
Mar 22, 2021
Reusing R code to repeat an analysis for a new dataset
Rerunning old Code
-
Mar 18, 2021
Testing for significance between groups using adonis from the vegan R package
Are the differences between groups significant?
-
Mar 15, 2021
Using the Z pattern to improve the design of data visualizations
Strategically placing titles and labels
-
Mar 11, 2021
Different options to indicate grouping of data in a scatter plot
Adding ellipses, connections, and contours to an ordination
-
Mar 8, 2021
Critiquing and improving a published ordination
Creating and improving a scatterplot
-
Mar 4, 2021
Installing R and RStudio on a Mac or Windows computer
Getting set up for big things
-
Mar 1, 2021
Submitting a manuscript to the journal mSphere
Reaching a big milestone!
-
Feb 25, 2021
Testing the reproducibility of your data analysis
Feeling the power of make, git, and R
-
Feb 22, 2021
Ten tips to editing and more effective writing
Smoothing the rough edges of your manuscript
-
Feb 18, 2021
Writing a title and abstract to attract readers
Getting eyeballs on your science
-
Feb 15, 2021
Inserting references into an R markdown document
Roll your own reference manager for free
-
Feb 11, 2021
The value of stepping back and letting your data breathe
Replacing a beloved figure
-
Feb 8, 2021
Writing declarative figure legends for scientific papers
How to write figure legends
-
Feb 4, 2021
Picking colors that work well together and show empathy for your audience
How to use ColorBrewer and wesanderson
-
Feb 1, 2021
Adding text and line annotations to a ggplot2 figure
How to call attention to data points
-
Jan 28, 2021
Using ggplot's theme function to customize the appearance of a faceted plot
Don't fear the theme function!
-
Jan 25, 2021
Creating publication quality figures
Harnessing the power of ggplot2
-
Jan 21, 2021
Recalculating the rate of lumping and splitting over a large number of iterations
Repeating a function with the purrr and furrr packages
-
Jan 18, 2021
How to extract the heavy lifting from your R markdown document
Using scripts to do the heavy lifting
-
Jan 14, 2021
Formatting the output from inline code in a R Markdown document
Fun with significant digits
-
Jan 12, 2021
Inserting R code into your text with R Markdown
The biggest game changer for reproducibility
-
Jan 7, 2021
Writing the rough draft of a scientific paper
Expanding an outline until a manuscript emerges
-
Jan 4, 2021
Setting up a manuscript in R markdown
Text is more important than formatting, but we still want it to look nice
-
Dec 23, 2020
Outlining a manuscript
Don't start with figure legends!
-
Dec 21, 2020
Balancing the sensitivity and specificity of ASVs
Creating ROC curves
-
Dec 17, 2020
Parallelization of R code with the furrr package
Can we reduce a 16 hr job to 1 hr?
-
Dec 14, 2020
Summarizing data with functions that output multiple values
Using nest, mutate, unnest to do cool things
-
Dec 11, 2020
Overcoming bottlenecks in R with the Rcpp package
Creating a confusion matrix using C++ code in R
-
Dec 9, 2020
Reassessing for loops: how to make them fast
Faster than dplyr?
-
Dec 7, 2020
Benchmarking the problems with for loops and a possible solution
Creating a confusion matrix, method 2
-
Dec 3, 2020
Performing all possible pairwise comparisons with
expand_grid
Creating a confusion matrix
-
Nov 30, 2020
Using facet_grid to study rate of lumping and splitting of genomes with ASVs
Lumping and splitting
-
Nov 25, 2020
Writing functions in R
Named and anonymous functions
-
Nov 19, 2020
Writing functions in R
Named and anonymous functions
-
Nov 16, 2020
Creating variables and using functions with make
Building 50+ targets with a single command
-
Nov 12, 2020
Two approach to make messy data tidy
Making a large shared file tidy
-
Nov 9, 2020
Running commands from mothur at the command line (and elsewhere!)
Simulating ASVs in mothur
-
Nov 5, 2020
Refactoring code with the help of make and git
Changing ASVs to ESVs
-
Nov 2, 2020
Deciphering smelly code and documenting it with comments
Comments to the rescue
-
Oct 29, 2020
Repeating steps in an analysis with purrr's map functions
Iterating with map functions
-
Oct 26, 2020
Using dplyr's slice functions to pick specific and random rows from a data frame in R
Down sampling data with the slice_sample function
-
Oct 22, 2020
Planning a data analysis with pseudocode
Separating the what and the how in your analysis
-
Oct 19, 2020
Untidying data with pivot_wider
Tidy depends on the question
-
Oct 15, 2020
Faceting plots in R with facet_wrap and facet_grid
Making multi-panel figures in R
-
Oct 12, 2020
Plotting distributions in R
What does plotting data have to do with rock & roll?
-
Oct 8, 2020
Making sophisticated plots with minimal effort
Combining data frames and geoms in the same plot
-
Oct 5, 2020
Specifying how grouping should be treated after summarize
What's up with the new .groups argument?
-
Oct 1, 2020
Using factors to order categorical variables
Demistifying factors in R
-
Sep 28, 2020
Self joining data frames with
inner_join
Using self joins to traverse a tree structure
-
Sep 24, 2020
Splitting taxonomy data to put each rank in its own column
Using separate
, pivot_longer
, and pivot_wider
clean up taxonomy data
-
Sep 21, 2020
Joining data frames to incorporate taxonomy data to our genomes
Using inner_join
and anti_join
to merge three data frames
-
Sep 17, 2020
Combining similar data frames
Using map_dfr
to apply a function across a vector
-
Sep 14, 2020
Generating reproducible, dynamic documents
R markdown is a game changer
-
Sep 10, 2020
Measuring the sensitivity and specificity of ASVs for genomes
Grouping and summarizing our data with dplyr
-
Sep 8, 2020
Why is our R script so sloooooowwwwwwwww?
We'll speed up the R script that we wrote in the last episode. Should we?
-
Aug 20, 2020
Running R scripts from the command line
You've probably run R code in R, but what about from the command line?
-
Aug 17, 2020
The command line life
You owe it to your analysis to get comfortable with the command line
-
Aug 13, 2020
Customizing bash to improve reproducibility
Creating aliases and packing more information into our prompt
-
Aug 10, 2020
The value of Test Driven Development in data analysis
Measure twice, cut once
-
Aug 6, 2020
Using cut, sort, and unique to explore data with bash
Simple bash commands can help us to do complicated things
-
Aug 3, 2020
Fun with regular expressions in sed and grep
Expanding our bash toolset
-
Jul 30, 2020
Building logic into bash scripts with if-else statements
A smarter bash script
-
Jul 27, 2020
You sed what? Modifying variables with sed in bash
We clean up the code in our Makefile shell scripts
-
Jul 23, 2020
Automating the steps of our analysis plan with make
Automation tools can provide a reproducibility map for our analysis
-
Jul 20, 2020
Scripting an analysis from the command line
Anyone can write a computer program!
-
Jul 16, 2020
Making text files look attractive
Using markdown to apply light formatting to our text files
-
Jul 13, 2020
Downloading data from the command line
Who needs a browser, let's get our data directly
-
Jul 9, 2020
Laying out a plan for our project
Plans are worthless, but planning is everything
-
Jul 6, 2020
Setting up and using version control for a project
If we want to track the history of our project, it's best to start from the beginning
-
Jul 2, 2020
Project organization
We're starting a new project! How do we get organized?
-
Jun 25, 2020
Smoothing lamb prices
Rolling averages are in the news. We'll use lag
to smooth our prices data
-
Jun 18, 2020
Comparing lamb prices
Do the prices for different classes of lamb move together? We'll use pivot_longer
-
Jun 11, 2020
Predicting lamb futures
How much do lamb prices fluctuate at the local livestock auction? We'll track the variation with separate
, geom_smooth
, and geom_ribbon
-
Jun 4, 2020
Eat more lamb!
Is lamb production in Michigan on the rise? Using googlesheets4
to access data for southern Michigan
-
May 28, 2020
When is she due?
She's expecting! We'll use the lubridate
package to figure out the due date.
-
May 21, 2020
So cold in Dexter
My wife planted a garden, was it too soon? We'll use mutate
, filter
, group_by
, and summarize
to find out
-
May 14, 2020
Like the weather
Gee whiz it was cold Saturday morning. Is this normal? We'll use filter
, group_by
, and summarize
to find out
-
May 7, 2020
Fun with ggplot2's themes
Ever feel like ggplot2
's theme
function was a black hole? We'll break it down
-
Apr 16, 2020
Find the candy that I like...
The Easter-induced candy stupor as faded, now to analyze the data
-
Apr 9, 2020
The data is...
The data are in and ... we need to analyze it/them
-
Apr 2, 2020
The data are...
We've invited the rhinoceri, Washington and Lincoln to the next Code Club!
-
Mar 26, 2020
Candy Crush
Let's explore people's favorite candies using functions from the tidyverse