Function that gives the corrected R for an observed R and two reliability values
getCorrectedR.Rd
This just uses the conventional formula for the attenuation of a (Pearson) correlation by unreliability.
Background
This is ancient psychometrics but still of some use. For more information, see: OMbook glossary entry for attenuation The formula is simple:
correctedCorr=observedCorrrel_1*rel_2correctedR = obsR / sqrt(rel1 * rel2)
The short summary is that unreliability in the measurement of both variables involved in a correlation always reduces the observed correlation between the variables from what it would have been had the variables been measured with no unreliability (which is essentially impossible for any self-report measures and pretty much any measures used in our fields. This uses that relationship to work back to an assumed "corrected" correlation given an observed correlation and two reliability values.
For even moderately high observed correlations and low reliabilities the function can easily return values for the corrected correlation over 1.0. That's a clear indication that things other than unreliability and classical test theory are at work. The function gives a warning in this situation.
See also
Other utility functions:
convertClipboardAuthorNames()
,
fixVarNames()
,
getAttenuatedR()
,
whichSetOfN()