rstats

Evaluating Model Estimation Processes for Diagnostic Classification Models

PhD dissertation submitted to the School of Education at the University of Kansas.

Soccer Predictions Using Bayesian Mixed Effects Models

Models developed for the prediction of individual games, European domestic leagues, and the UEFA Champions League.

jayhawkdown

Template for writing theses and dissertations at the University of Kansas using **rmarkdown** and **bookdown**.

Make your own ggclock

Make a ggplot2-themed clock face

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. — 💀.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.