Photograph of an axe stuck in a tree stump
Coding

Thinking before typing

A woodsman was once asked, “What would you do if you had just five minutes to chop down a tree?” He answered, “I would spend the first two and a half minutes sharpening my axe.” Let us take a few minutes to sharpen our perspective.

probably not Abraham Lincoln

I'm pilot-testing a simple choice task - participants indicate two different attitudes on a set of issues, then see pairs of photographs from protests about those issues. Participant task is to choose which group of protestors they support more.

The goal of the study is to see how the different kinds of attitudes influence the decision-making. (Specifically, I'm modeling the data using a drift diffusion model, maybe I'll dive into that next post).

In order to have a lot of difficult distinct ratings, the original version of the task assumed that if I supported an issue 6 out 7, then I would:

  • support protestors who were for with the issue at 6 out of 7,
  • support protestors who were against the issue at 2 out of 7

To show participants whether the protestors were FOR or AGAINST an issue, I used two images, a thumbs-up and a thumbs-down:


In the original version of the task - with the goal of maximizing the number of distinct pairs - I allowed FOR and AGAINST trials to be pitted against each other. However, after the initial piloting, this stopped making sense.

For the drift diffusion models, we're assuming that response time reflects the length of the decision process. Specifically, we want longer RT to mean that someone had a more difficult time decision on their preferred group of protestors. But when the protestor positions don't match - e.g. when one is thumbs up and one is thumbs down - there is extra noise in the RT measure.

Now we're collected data with a simplified version, where both protestor groups are either FOR or AGAINST.

I say simplified, but it required changing the javascript that controlled how trial lists were created. Initially, I started to refactor the entire program, maintaining two sets of lists, one for FOR trials and one for AGAINST trials.

However, after wasting 20 minutes troubleshooting how to allowing my functions to pass pairs of arrays back and forth, it occurred to be that it would be much easier to simply ignore AGAINST trials until the very end. Then, when a pair of issues is selected to be added as a trial, I added it as a FOR trial - with double ThumbsUp - then again as an AGAINST trial - with double ThumbsDown.

This meant I only had to decrease the initial size of the issue array, then make sure I didn't blow past the last index in the stimulus list.

Everything is on github for easier use in Qualtrics and MTurk. You can see the original/full version or check out the updated, congruent-only version.