drizopoulos / ltm

Latent Trait Models under IRT
30 stars 12 forks source link

Use of sd() in ltm::biserial.cor #8

Closed SalvatoreMangiafico closed 6 years ago

SalvatoreMangiafico commented 6 years ago

Hi. There is a current thread on Cross Validated about the equivalence of point-biserial correlation and Pearson correlation. The answer by user9413061 brings up the concern that results from ltm::biserial.cor do not agree with cor.test. My answer there suggests that if the sd function in biserial.cor were replaced with a function for population standard deviation, that the results would match between these two functions. It is often stated that point-biserial correlation can be shown to be a special case of Pearson correlation.

You may want to address this thread yourself, or consider adjusting your function. If there is good reason to use either sd() or sd.population(), you might make either an option in the function. If you do adjust your package in some way to address this, I would ask that you either address the Cross Validated thread with the update, or let me know so I can do so.

I'm not very familiar with point-biserial correlation, so please excuse me if I am missing something.

Cross Validated thread under discussion: https://stats.stackexchange.com/questions/226157/p-value-for-point-biserial-corrleation-in-r/

Example of equivalence of point-biserial and Pearson: https://stats.stackexchange.com/questions/105542/proof-of-point-biserial-correlation-being-a-special-case-of-pearson-correlation

Best wishes, Sal

drizopoulos commented 6 years ago

Thanks for reporting this. I have committed a new version that uses the population sd in the calculation.

Best, Dimitris