Blog Archives

More on Chutes & Ladders

May 20, 2013
By
More on Chutes & Ladders

Matt Maenner asked about the sawtooth pattern in the figure in my last post on Chutes & Ladders. Damn you, Matt! I thought I was done with this. Don’t feed my obsession. My response was that if the game ends early, it’s even more likely that it’ll be the kid who went first who won.

Read more »

Chutes & ladders: How long is this going to take?

May 17, 2013
By
Chutes & ladders: How long is this going to take?

I was playing Chutes & Ladders with my four-year-old daughter yesterday, and I thought, “How long is this going to take?” I saw an interesting mathematical analysis of the game a few years ago, but it seems to be offline, though you can read it via the wayback machine. But that didn’t answer my specific

Read more »

Stack Exchange: Why I dropped out

May 13, 2013
By
Stack Exchange: Why I dropped out

Stack Exchange is a series of question-and-answer sites, including Stack Overflow for programming and Cross Validated for statistics. I was introduced to these sites at a short talk by Barry Rowlingson at the 2011 UseR! meeting, “Why R-help must die!“ These sites have a lot of advantages over R-help: The format is easier to read,

Read more »

Tutorials on git/github and GNU make

May 10, 2013
By
Tutorials on git/github and GNU make

If you’re not using version control, you should be. Learn git. If you’re not on github, you should be. That’s real open source. To help some colleagues get started with git and github, I wrote a minimal tutorial. There are lots of git and github resources available, but I thought I’d give just the bare

Read more »

Beware of grep with a list

April 2, 2013
By
Beware of grep with a list

Another R tip: beware of as.character applied to a list. Really, beware of grep with a list: You might have thought that the result would be just 1, but grep expects a vector of character strings. If the input is not that, it uses as.character(). Since the result of that starts with "c(", grep finds

Read more »

apply vs for

April 2, 2013
By
apply vs for

It’s widely understood that, in R programming, one should avoid for loops and always try to use apply-type functions. But this isn’t entirely true. It may have been true for Splus, back in the day: As I recall, that had to do with the entire environment from each iteration being retained in memory. Here’s a

Read more »

x[[c(5,3)]]

April 2, 2013
By
x[[c(5,3)]]

An R tip: Did you know that x] is the same as x]]? I should make more thorough use of this. In the help file for ] is equivalent to alist]...] providing all but

Read more »

Curved arrows in R

October 10, 2012
By
Curved arrows in R

I briefly investigated how to draw curved arrows in R. Here’s a small piece of the figure that I ultimately created: A google search for “curved arrows in R” revealed three options: curvedarrow in the diagram package The internal function igraph.Arrows within the igraph package (mentioned by Gabor Csardi in R help) Using xspline for

Read more »

Learning a new language

June 21, 2012
By
Learning a new language

It had been a very long time since I’d tried to learn a new programming language. I started C in 1987, S in 1992, and Perl in 1997, but nothing really new in the subsequent 15 years. A friend now has me doing D, wanting to find time to learn ruby, and, most recently, playing

Read more »

A course in statistical programming

May 25, 2012
By
A course in statistical programming

Graduate students in statistics often take (or at least have the opportunity to take) a statistical computing course, but often such courses are focused on methods (like numerical linear algebra, the EM algorithm, and MCMC) and not on actual coding. For example, here’s a course in “advanced statistical computing” that I taught at Johns Hopkins

Read more »