Articles by Jeffrey Horner

Is This How You Dplyr?

May 27, 2015 | Jeffrey Horner

Yesterday I ran into a fairly complex issue regarding dplyr mutation and I wanted to get your take on my solution. I have two data frames with the same identifiers and two different date columns which I need to merge into one date column, with the val... [Read more...]

Old is New: XML and rvest

May 22, 2015 | Jeffrey Horner

Huh… I didn’t realize just how similar rvest was to XML until I did a bit of digging. After my wonderful experience using dplyr and tidyr recently, I decided to revisit some of my old RUNNING code and see if it could use an upgrade by swapping out the ... [Read more...]

TidyR Challenge: Data.Table Solution

May 19, 2015 | Jeffrey Horner

Arun Srinivasan is the man! Once he saw that his data.table solution to the TidyR Challenge had an issue, he fixed it! His solution is below along with a quick equivalence test to my original solution, and check out this stackOverflow question for a... [Read more...]

TidyR Challenge: Update

May 8, 2015 | Jeffrey Horner

In my last post I described a data set that was a bit cumbersome to parse and I wanted to tidy it up before I could begin visually exploring. You know, the fun part. I wasn’t 100% happy with my solution so I candidly asked the internet to Help Me ... [Read more...]

TidyR Challenge: Help Me Do My Job

May 6, 2015 | Jeffrey Horner

Last week I was handed a drug prescription data set and asked to create some interesting graphics. But before I can even get to the fun part, I was faced with actually transforming the set into something that ggplot2 could read. Obviously I can’t share the data, but Tyler ... [Read more...]

Course Profiles in ggplot2

April 23, 2015 | Jeffrey Horner

Over on my other blog, Droppin’ The Hammer… where I journal my ultra running experience, I featured a novel ggplot2 plot for highlight elevation gain and loss on running race course profiles. If you’ve never run a particular race you...
[Read more...]

Blowing Away the Competition

April 22, 2015 | Jeffrey Horner

In February I embarked on a mission to speed up R, and I’m very pleased with the results so far. I redesigned the internal string cache, symbol table, and environments by using a somewhat obscure data structure called an Array Hash. It’s ba...
[Read more...]

Hash Table Performance in R: Part IV

April 21, 2015 | Jeffrey Horner

In the last post I introduced the package envestigate that provides the hash table structure and interesting statistics associated with an R environment. Now I want to show you some performance characteristics of the R environment as a hash table. I&r...
[Read more...]

Hash Table Performance in R: Part I

March 24, 2015 | Jeffrey Horner

What Is It?A hash table, or associative array, is a well known key-value data structure. In R there is no equivalent, but you do have some options. You can use a vector of any type, a list, or an environment.But as you’ll see with all of these ...
[Read more...]

It’s Time For A Change: A Shiny One

December 3, 2012 | Jeffrey Horner

I presented rApache to the public for the first time at the Directions in Statistical Computing workshop in August 2005 (paper), almost seven years ago. It might have been novel, maybe even crazy at the time, but I think rApache showed people a new way to bring R to the web. ... [Read more...]

Innovation in Statistical Computing

November 15, 2012 | Jeffrey Horner

In A Capitalist’s Dilemma, Whoever Wins on Tuesday, Clayton Christensen lays out three kinds of innovations through which an industry cycles: Empowering Innovations - those that offer products and services to a new customer base. The classic empowering (or disruptive) innovation is Ford Motor Company’s introduction of the ... [Read more...]

Deploy Rook Apps: Part II

October 17, 2012 | Jeffrey Horner

In Part I, I described how you can deploy your Rook applications with rApache. This post describes how you can do it with R itself. But before we get into that, I’d like to explain the off-again on-again relationship Rook has had with CRAN, R’s package archive network. ... [Read more...]

rApache 1.2.0 Released

July 27, 2012 | Jeffrey Horner

With this release comes a minor change in behavior: for requests that have been configured with RFileEval, RFileHandler, or using the r-script handler, rApache will set the working directory to the file’s directory. For instance with a Rook deployment like this:
 <Location /hmisc> 
        SetHandler r-handler 
        RFileEval "/home/hornerj/Hmisc/config.R:Rook::Server$call(app)" 
It makes sense to change the working ... [Read more...]

Deploy Rook Apps with rApache: Part I

July 23, 2012 | Jeffrey Horner

Since rApache 1.1.15 you’ve been able to deploy you Rook applications like so:
# Run the Rook application named 'app'. On each request, the expression 
# 'Rook::Server$call(app)' is evaluated in an environment populated by
# rookapp.R. 'app' is expected to be found in that environment.
<Location /test/RookApp>
        SetHandler r-handler
        RFileEval /path/to/Rook/App/rookapp.R:Rook::Server$call(app)
Let’s go through the above example step by step, starting with the Location directive from apache. The Location Directive Works on URLs In apache, the Location directive works on the URL space of the server. ... [Read more...]
1 2

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)