New methods are key to developing new hypotheses and testing old ones. It would be difficult to imagine social sciences today without regression models, or social network analysis, or online ethnographies. Each has been developed and used to expand what we think that we know about the social world.

Black and white picture of a Victor snap trap
Image by pepperberryfarm via Flickr, Creative Commons BY-NC-ND 2.0

But social scientists, especially junior researchers, too often fail to justify their new methods. They demonstrate their creativity and document the often considerable work they put into developing their new approach. But scholars should take care that they're not just building a better mousetrap.

Several weeks ago, my Silver Spring neighborhood experienced a rash of petty thefts from parked cars. Word spread through our neighborhood listserv. Nothing major, it happens toward the end of every summer, and some neighbors admitted to leaving their car doors unlocked. One neighbor, however, strongly advocated that the police increase patrols in our neighborhood. It's a rational course of action, and most of my neighbors—the majority of whom are white—probably thought so as well.

But I also know from collecting data on the topic that more than half of black and Latino residents in the DC area report that the fear of police arresting or questioning them affects their daily lives. About a quarter of both groups say that this fear affects their daily lives "a lot." It's possible that increasing the police presence in our neighborhood might worry our black and Latino neighbors more than the car break-ins. By way of comparison, just over one in ten white residents feared police on a daily basis, and most of those who did said that it only affected their daily lives "a little."

Because I am a masochistperfectionist, I spent the better part my day making my R code more elegant. I figured out what to do with a simple loop, but wanted to write the code the right way. I always tell myself that the time I spend torturing myselfwriting the right code will help me down the line so I know how to do it next time. I will inevitably forget and spend the same four hours doing the same thing again. As a gift to my future self, I decided that I would write down what I learned because it will likely come up again (you're welcome, future Mike!).

My basic problem comes from the desire to match two lists item-by-item. Python contains a function, zip(), that does this. I want to figure out how to zip in R.

illustration of a cv

I used to think of CVs as a relic of an antiquated system of prestige. But working on some software changed my mind. CVs are, it turns out, pretty complicated artifacts. They reveal a great deal about the professional life of academics and all of the systems on which they come to rely.

Like most academics, I found it difficult to keep my CV up to date. I was surprised to learn that there was not a straight-forward system for managing this information. I thought that there should be a better system. It turns out, I'm not alone. About a week ago, Daniel Laurison posted the following to Twitter ...

I had the good fortune to participate in a conversation about how policies can create positive outcomes for racial integration. The American University Center for Latin American and Latino Studies hosted the event that included nationally renowned scholars and policymakers from the District. I was invited to talk and took the opportunity to provide a context for the DC area.

Black Middle Class
Percent of blacks who have a BA or higher in 20 largest metropolitan areas

I emphasized three major points in my talk. First, race and class are not synonymous in the DC area. A higher percentage of blacks in the DC area have college degrees than any other metropolitan area ...

On Twitter, Phil Cohen asked how he might make a plot showing overlapping distributions:

I think that he was on the right track using transparency, but I am not sure that the color was exactly right. The plot reminded me of what Mike Bostock (my generation's Edward Tufte) did to make a population pyramid.

Phil was also working with another disadvantage: he's using Microsoft Excel. Excel (all Microsoft Office products actually), renders the ...

R presents more of a challenge to Stata on many fronts, one of which is basic data management.

I often find myself calculating the value of one observation given the value of an adjacent value. For example, to assess a lagged effect, I would take the value of the preceding interval. Stata makes this really easy, R not so much.

Here's what we would do in Stata:

set obs 1000
gen i = _n
gen val = round(runiform()*10)
gen lag = val[_n-1]

The last command throws the warning, (1 missing value generated) because the first observation has no lagged observation. The first 10 observations look like this:

. list ...