10 July 2012

Sourcing Code from GitHub

In previous posts I described how to input data stored on GitHub directly into R.

You can do the same thing with source code stored on GitHub. Hadley Wickham has actually made the whole process easier by combining the getURL, textConnection, and source commands into one function: source_url. This is in his devtools package.

Imagine we have a .R source code file like this:

# Make cars scatter plot
library(ggplot2)
Plot <- qplot(cars$dist, cars$speed) +
            theme_bw()
print(Plot)

It is hosted on GitHub with the URL: https://raw.github.com/christophergandrud/christophergandrud.github.com/master/SourceCode/CarsScatterExample.R

So to run this source code directly in R all we need to type is:

library(devtools)
SourceURL <- "https://raw.github.com/christophergandrud/christophergandrud.github.com/master/SourceCode/CarsScatterExample.R"
source_url(SourceURL)

plot of chunk CarsPlot

There you go.

You can also directly source GitHub gists (which are nice for sharing short bits of code) with the source_gist command.