# rstats

I have once again been inspired by a tweet! This one came from @WeAreRLadies, which was being moderated by Alison Hill at the time. Y'all there is a ggclock @rstudio #ggplot2 #rstats pic.twitter.com/pJHlIssQUS — We are R-Ladies (@WeAreRLadies) November 9, 2018 Alison was at RStudio headquarters in Boston, when she noticed a ggplot2 themed clock! To which I had a totally normal reaction. I decided that I must have one.

## Making an animated contour plot

Earlier this week Mike Bostock tweeted a interesting looking contour plot with a link to edit the formula and manipulate the graphic using D3.js. A live 2D function plot. Edit the function and reply with interesting images! https://t.co/joWfPgUAAU pic.twitter.com/XYhvJBavRM — Mike Bostock (@mbostock) September 3, 2018 I decided I would attempt to recreate the image using ggplot2, and animate it using the new gganimate package. Creating the data I started by creating a data frame with all the combinations of x and y on a grid between -10 and 10, in intervals of 0.

## Animated TIE Fighter

Recently I’ve been looking for an excuse to try out Thomas Lin Pedersen’s new grammar of animation, which is an extension of ggplot2 and a retooling of the existing gganmiate package. You can find the new package here. Luckily for me, Rafael Irizarry provided the perfect inspiration: Happy #MayFourth #rstats par(bg=1,fg="white") x<-0.5->y z<-"|-o-|" s<-cbind(runif(50),runif(50)) m<-c(-1,1)/20 while(TRUE){ rafalib::nullplot(xaxt="n",yaxt="n",bty="n") points(s,pch=".") text(x,y,z, cex=4) x<-pmin(pmax(x+sample(m,1),0),1) y<-pmin(pmax(y+sample(m,1),0),1) } pic.twitter.com/2kBwklMjTy — Rafael Irizarry (@rafalab) May 4, 2018 So in honor of Star Wars day, I decided to create Rafael’s TIE fighter GIF using the new gganimate.

## Using rtweet to Create a tidyverse Twitterbot

A while back, I was inspired by this Twitter exchange to create a bot that would tweet out tidyverse related material. Armchair Business Man Suggestion: Ever thought about having a Twitter account that automatocally tweets each new topic accompanied with link to said post ala Reddit? @mxlearn and other forums? Would be super useful for the #rstats commune. — Flatbush Science.js (@AgentZeroNine) November 14, 2017 Last week I finally had enough time to sit and put some work in to get this idea up and running!

## Creating an EM:IP Cover Graphic Using ggplot2

This time last year, I submitted a graphic to the Educational Measurement: Issues and Practice (EM:IP) cover showcase competition. In April at the annual National Council on Measurement in Education conference, it was announced that I was one of four winners that would be featured on the cover of EM:IP this year. Earlier this week, the issue with my graphic was released! The graphic demonstrates how different levels of compensation in multidimensional item response theory models (MIRT).

## Tidy Sports Analytics, Part 4: tidyverse

This is the final post in the tidy sports analytics series, in which I’ve been using play-by-play from the 2016 NFL season to demonstrate the power of the tidyverse. Previously, I’ve discussed: Part 1: Data manipulation using dplyr; Part 2: Data reshaping and tidying using tidyr; Part 3: Data visualization using ggplot2. This post doesn’t feature any new data analysis. Instead, I want to use this last post to talk about the tidyverse more generally and cover some of other advantages of using these packages for data analysis.

## Tidy Sports Analytics, Part 3: ggplot2

This is the third post in the tidy sports analytics series. In this series, I’ve been demonstrating how the collection of tidyverse packages can be used to explore and analyze sports data. Specifically, I’ve been using the 2016 NFL play-by-play data from Armchair Analysis. Part one in the series showed how dplyr can be used for data manipulation, and part two demonstrated reshaping and tidying data using tidyr. This post focuses on data visualization using ggplot2.

## Tidy Sports Analytics, Part 2: tidyr

This is the second in a series of posts that demonstrates how the tidyverse can be used to easily explore and analyze NFL play-by-play data. In part one, I used the dplyr package to calculate the offensive success rate of each NFL offense in during the 2016 season. However, when we left off, I noted that really we should look at the success rate of both offenses and defenses in order to get a better idea of which teams were the best overall.

## Tidy Sports Analytics, Part 1: dplyr

Welcome to the first in a series of blog posts where I’ll be using sports data to demonstrate the power of the tidyverse tools in the context of sports analytics. The tidyverse is a suite of packages developed mainly by Hadley Wickham, with contributions from over 100 other people in the R community. The goal of the tidyverse is to provide easy to use R packages for a data science workflow that all follow a consistent philosophy and API.

## Integrating Blogdown with GitHub Pages and Travis-CI

I recently converted my website from Jekyll to Hugo with blogdown. If you haven’t tried out blogdown yet, Yihui Xie just hosted a webinar that does a great job of introducing the package. This post won’t focus on how to use blogdown to create a website, but rather how to host that website on GitHub pages and use Travis-CI to automatically update the website. For this post, I’m assuming that you’re making a user or organization site.