This is an interesting case of a journal article being retracted: retractionwatch.com , not just because the (incorrect) results seem to have been widely reported in the press, but also because of, well, read on.

Root Cause Analysis is often a matter of repeated asking the question “why did that happen?”.  You get one answer which explains why that one thing happened, but prompts the next question.  So in this case, let’s explore:  

Why did the paper get retracted?

Because there was an error in the calculations.

Why was there an error in the calculations?

Because of programmer error classifying statistical populations in the study.

Why did programmer make an error classifying the populations?

Because the programming language and programming conventions produce unintelligible gibberish.

Why did programmer use gibberish-producing conventions and programming language?

Because reasons? Dear reader, judge for yourself if the closing bit of the article makes you scream in horror at 100% of what has led to this:

Here’s the original (mistaken) coding line:

    replace eventi’ = 1 if delta_mcti’ != 0 | spouse_delta_mcti’ != 0</p> <p>And here’s the corrected coding:</p> <p>    replace eventi’ = 1 if (delta_mcti’ != 0 | spouse_delta_mcti’ != 0) & delta_mcti’ != . &amp; spouse_delta_mcti’ != .