Packaging the TheyWorkForYou API

TheyWorkForYou is a great website for keeping up with British politics and one of the many fine things mySociety does to make democracy in the UK more transparent.

There’s also an API, accessible via http and wrapped up for a few languages. However, R is not amongst them, so I wrote twfy.

If you’re interested in using it (and you’ve got devtools installed) you can install it with


It was my first proper API package and a bit of a learning experience. If you want to hear more about that, read on.
Continue reading Packaging the TheyWorkForYou API

No, Bayesians don’t think all parameters are random

Pretty regularly – usually in the middle of one of those interminable fixed-vs-random effects discussions – someone will pipe up that “Of course, for Bayesians this random vs fixed effect distinction makes no sense because all parameters are random”.

To the extent it can be made to make sense, the claim is false. It’s also unhelpful because it’s pretty much guaranteed to confuse and put-off people who have better things to do than pay attention to arguments in statistics.

But on the off chance you have a moment for one of those, let me try to disentangle things.

Continue reading No, Bayesians don’t think all parameters are random

Voting and vaccinating

Some people think it isn’t rational to vote. Usually the argument is as follows: the probability of being pivotal, that is: the probability that your vote will ‘decide’ the winner, shrinks rapidly as the number of voters increases. So if you vote in the hope of determining an outcome, then the probability of that happening is small enough for it not to be worthwhile trying.

Let’s leave aside the virtues of this argument and consider a hypothetical against vaccination.

Continue reading Voting and vaccinating

What’s so great about real names?

A little while back a New York Times article discusses the consequences for college admission of saying undiplomatic things in social media. Apparently colleges monitor, or at least check up on, the social media presence of their potential applicants to see whether they’re the right kind of person for the school. Inevitably, students scrub, curate, or simply hide their account in response.

Leaving aside the possible rights and wrongs of this behaviour, we might ask: how does the college identify a social media account as belonging to one of their potential students? The general answer is that social media like Facebook and Google plus have a ‘real names policy’. And the answer to why they have that is, allegedly, that people behave more civilly towards one another when they are not hidden behind an anonymising username. One may doubt that is the only reason, given the value of the personal information thereby acquired. Nevertheless it seems to widely believed that, despite some awkward evidence to the contrary, that this works.

How does it work, if it does? Continue reading What’s so great about real names?

More SOTU Scaling

A couple of days ago the Monkey Cage featured Ben Lauderdale’s one-dimensional scaling model of US State of the Union addresses. In this post, I replicate the analysis with a closely related model, ask what the scaled dimension actually means, and consider what things would look like if we added another one.

The technical details are all at the bottom of the post if you want to try this at home.

Continue reading More SOTU Scaling

Call them what you will

I’ve been playing around with the R package texreg for creating combined regression tables for multiple models. It’s not the only package to do that – see here for a review – but it’s often handy to be able to generate both ascii art, latex, and html versions of the same table using almost identical syntax. Also, the ascii art creating screenreg function allows me to bypass the pdf construction cycle I previously described here. The coefficient plots from plotreg are pretty cool too.

This post is about making the variables listed in those combined regression tables more readable. That is particularly important when data comes from variable-mangling statistical software or from co-authors whose idea of a descriptive name could pass for an online banking password. Even R will cheerfully mash up your carefully chosen variable names through formulas, factors, and interactions. So for work people are going to see, variables should have sensible names.

First I’ll walk through the existing texreg machinery for renaming, omitting, and reordering variables, and then propose a hopefully more intuitive implementation. I’ll demonstrate all this using screenreg on a classic data set on job prestige.
Continue reading Call them what you will