correct_r | R Documentation |
Corrects Pearson correlations (r) for range restriction and/or measurement error
correct_r( correction = c("meas", "uvdrr_x", "uvdrr_y", "uvirr_x", "uvirr_y", "bvdrr", "bvirr"), rxyi, ux = 1, uy = 1, rxx = 1, ryy = 1, ux_observed = TRUE, uy_observed = TRUE, rxx_restricted = TRUE, rxx_type = "alpha", k_items_x = NA, ryy_restricted = TRUE, ryy_type = "alpha", k_items_y = NA, sign_rxz = 1, sign_ryz = 1, n = NULL, conf_level = 0.95, correct_bias = FALSE, zero_substitute = .Machine$double.eps )
correction |
Type of correction to be applied. Options are "meas", "uvdrr_x", "uvdrr_y", "uvirr_x", "uvirr_y", "bvdrr", "bvirr" |
rxyi |
Vector of observed correlations.
NOTE: Beginning in psychmeta version 2.5.2, |
ux |
Vector of u ratios for X. |
uy |
Vector of u ratios for Y. |
rxx |
Vector of reliability coefficients for X. |
ryy |
Vector of reliability coefficients for Y. |
ux_observed |
Logical vector in which each entry specifies whether the corresponding ux value is an observed-score u ratio ( |
uy_observed |
Logical vector in which each entry specifies whether the corresponding uy value is an observed-score u ratio ( |
rxx_restricted |
Logical vector in which each entry specifies whether the corresponding rxx value is an incumbent reliability ( |
rxx_type, ryy_type |
String vector identifying the types of reliability estimates supplied (e.g., "alpha", "retest", "interrater_r", "splithalf"). See the documentation for |
k_items_x, k_items_y |
Numeric vector identifying the number of items in each scale. |
ryy_restricted |
Logical vector in which each entry specifies whether the corresponding rxx value is an incumbent reliability ( |
sign_rxz |
Vector of signs of the relationships between X variables and the selection mechanism. |
sign_ryz |
Vector of signs of the relationships between Y variables and the selection mechanism. |
n |
Optional vector of sample sizes associated with the rxyi correlations. |
conf_level |
Confidence level to define the width of the confidence interval (default = .95). |
correct_bias |
Logical argument that determines whether to correct error-variance estimates for small-sample bias in correlations ( |
zero_substitute |
Value to be used as a functionally equivalent substitute for exactly zero effect sizes to facilitate the estimation of effective sample sizes. By default, this is set to |
The correction for measurement error is:
rtp = rxy / sqrt(rxx * ryy)
The correction for univariate direct range restriction is:
rtpa = (rxyi / (ux * sqrt(ryyi) * sqrt((1 / ux^2 - 1) * rxyi^2 / ryyi + 1))) / sqrt(rxxa)
The correction for univariate indirect range restriction is:
rtpa = rxyi / (ut * sqrt(rxxi * ryyi) * sqrt((1 / ut^2 - 1) * rxyi^2 / (rxxi * ryyi) + 1))
The correction for bivariate direct range restriction is:
rtpa = (((rxyi^2 - 1)/(2 * rxyi)) * ux * uy + sign[rxyi] * sqrt(((1 - rxyi^2)^2) / (4 * rxyi) * ux^2 * uy^2 + 1)) / (sqrt(rxxa * ryya))
The correction for bivariate indirect range restriction is:
rtpa = (rxyi * ux * uy + lambda * sqrt(abs(1 - ux^2) * abs(1 - uy^2)) / (sqrt(rxxa * ryya))
where the lambda value allows ux and uy to fall on either side of unity so as to function as a two-stage correction for mixed patterns of range restriction and range enhancement. The λ value is computed as:
λ = sign[rsta * rspa * (1 - ux) * (1 - uy)] * (sign[1 - ux ] * min(ux, 1/ux) + sign[1 - uy] * min(uy, 1/uy)) / (min(ux, 1/ux) * min(uy,1/uy))
Data frame(s) of observed correlations (rxyi
), operational range-restricted correlations corrected for measurement error in Y only (rxpi
), operational range-restricted correlations corrected for measurement error in X only (rtyi
), and range-restricted true-score correlations (rtpi
),
range-corrected observed-score correlations (rxya
), operational range-corrected correlations corrected for measurement error in Y only (rxpa
), operational range-corrected correlations corrected for measurement error in X only (rtya
), and range-corrected true-score correlations (rtpa
).
Alexander, R. A., Carson, K. P., Alliger, G. M., & Carr, L. (1987). Correcting doubly truncated correlations: An improved approximation for correcting the bivariate normal correlation when truncation has occurred on both variables. Educational and Psychological Measurement, 47(2), 309–315. doi: 10.1177/0013164487472002
Dahlke, J. A., & Wiernik, B. M. (2020). Not restricted to selection research: Accounting for indirect range restriction in organizational research. Organizational Research Methods, 23(4), 717–749. doi: 10.1177/1094428119859398
Hunter, J. E., Schmidt, F. L., & Le, H. (2006). Implications of direct and indirect range restriction for meta-analysis methods and findings. Journal of Applied Psychology, 91(3), 594–612. doi: 10.1037/0021-9010.91.3.594
Le, H., Oh, I.-S., Schmidt, F. L., & Wooldridge, C. D. (2016). Correction for range restriction in meta-analysis revisited: Improvements and implications for organizational research. Personnel Psychology, 69(4), 975–1008. doi: 10.1111/peps.12122
Schmidt, F. L., & Hunter, J. E. (2015). Methods of meta-analysis: Correcting error and bias in research findings (3rd ed.). Sage. doi: 10.4135/9781483398105. pp. 43-44, 140–141.
## Correction for measurement error only correct_r(correction = "meas", rxyi = .3, rxx = .8, ryy = .8, ux_observed = TRUE, uy_observed = TRUE, rxx_restricted = TRUE, ryy_restricted = TRUE) correct_r(correction = "meas", rxyi = .3, rxx = .8, ryy = .8, ux_observed = TRUE, uy_observed = TRUE, rxx_restricted = TRUE, ryy_restricted = TRUE, n = 100) ## Correction for direct range restriction in X correct_r(correction = "uvdrr_x", rxyi = .3, ux = .8, rxx = .8, ryy = .8, ux_observed = TRUE, uy_observed = TRUE, rxx_restricted = TRUE, ryy_restricted = TRUE) correct_r(correction = "uvdrr_x", rxyi = .3, ux = .8, rxx = .8, ryy = .8, ux_observed = TRUE, uy_observed = TRUE, rxx_restricted = TRUE, ryy_restricted = TRUE, n = 100) ## Correction for indirect range restriction in X correct_r(correction = "uvirr_x", rxyi = .3, ux = .8, rxx = .8, ryy = .8, ux_observed = TRUE, uy_observed = TRUE, rxx_restricted = TRUE, ryy_restricted = TRUE) correct_r(correction = "uvirr_x", rxyi = .3, ux = .8, rxx = .8, ryy = .8, ux_observed = TRUE, uy_observed = TRUE, rxx_restricted = TRUE, ryy_restricted = TRUE, n = 100) ## Correction for direct range restriction in X and Y correct_r(correction = "bvdrr", rxyi = .3, ux = .8, uy = .8, rxx = .8, ryy = .8, ux_observed = TRUE, uy_observed = TRUE, rxx_restricted = TRUE, ryy_restricted = TRUE) correct_r(correction = "bvdrr", rxyi = .3, ux = .8, uy = .8, rxx = .8, ryy = .8, ux_observed = TRUE, uy_observed = TRUE, rxx_restricted = TRUE, ryy_restricted = TRUE, n = 100) ## Correction for indirect range restriction in X and Y correct_r(correction = "bvirr", rxyi = .3, ux = .8, uy = .8, rxx = .8, ryy = .8, ux_observed = TRUE, uy_observed = TRUE, rxx_restricted = TRUE, ryy_restricted = TRUE) correct_r(correction = "bvirr", rxyi = .3, ux = .8, uy = .8, rxx = .8, ryy = .8, ux_observed = TRUE, uy_observed = TRUE, rxx_restricted = TRUE, ryy_restricted = TRUE, n = 100)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.