Going through the Wiki article on the Phi coefficient, I've noticed that for paired binary data "a Pearson correlation coefficient estimated for two binary variables will return the phi coefficient".

Upon running a quick simulation I found this to not be the case. However, it appears that the phi coefficient does approximate the pearson's correlation coefficient.

x <- c(1,   1,  0,  0,  1,  0,  1,  1,  1)
y <- c(1,   1,  0,  0,  0,  0,  1,  1,  1)
sqrt(chisq.test(table(x,y))$statistic/length(x)) # phi

x <- rep(x, 1000)
y <- rep(y, 1000)
sqrt(chisq.test(table(x,y))$statistic/length(x)) # phi
# it now DOES approximates the pearsons correlation.

But it is not apparent to me why (mathematically) this is the case.


1 Answer 1


By default, chisq.test() applies a continuity correction when computing the test statistic for 2x2 tables. If you switch off this behavior, then:

x = c(1,  1,  0,  0,  1,  0,  1,  1,  1)
y = c(1,  1,  0,  0,  0,  0,  1,  1,  1)
sqrt(chisq.test(table(x,y), correct=FALSE)$statistic/length(x)) # phi

will give you exactly the same answer. And this essentially also answers why $\sqrt{\chi^2/n}$ with the continuity correction approximates cor(x,y) -- as $n$ increases, the continuity correction has less and less influence on the result.

The continuity correction is described here: Yates's correction for continuity

  • $\begingroup$ I am also interested as to why the two would give the exact same value. Should I ask this on a different question? $\endgroup$
    – Tal Galili
    Commented Jan 17, 2013 at 22:25
  • 2
    $\begingroup$ @Tal, for binary data, that is, for 2x2 contingency table, phi degenerates into abs(r). This can be shown by the fact that their classic formulas can be reduced to the common one shown here $\endgroup$
    – ttnphns
    Commented Jan 18, 2013 at 8:54
  • $\begingroup$ Does anyone have a textbook or journal reference for this? I'd love to be able to give to my clients so they could cite it... $\endgroup$
    – emudrak
    Commented Aug 1, 2014 at 17:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.