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:
\rho_{TP}=\frac{\rho_{XY}}{\sqrt{\rho_{XX}\rho_{YY}}}
The correction for univariate direct range restriction is:
\rho_{TP_{a}}=\left[\frac{\rho_{XY_{i}}}{u_{X}\sqrt{\rho_{YY_{i}}}\sqrt{\left(\frac{1}{u_{X}^{2}}-1\right)\frac{\rho_{XY_{i}}^{2}}{\rho_{YY_{i}}}+1}}\right]/\sqrt{\rho_{XX_{a}}}
The correction for univariate indirect range restriction is:
\rho_{TP_{a}}=\frac{\rho_{XY_{i}}}{u_{T}\sqrt{\rho_{XX_{i}}\rho_{YY_{i}}}\sqrt{\left(\frac{1}{u_{T}^{2}}-1\right)\frac{\rho_{XY_{i}}^{2}}{\rho_{XX_{i}}\rho_{YY_{i}}}+1}}
The correction for bivariate direct range restriction is:
\rho_{TP_{a}}=\frac{\frac{\rho_{XY_{i}}^{2}-1}{2\rho_{XY_{i}}}u_{X}u_{Y}+\mathrm{sign}\left(\rho_{XY_{i}}\right)\sqrt{\frac{\left(1-\rho_{XY_{i}}^{2}\right)^{2}}{4\rho_{XY_{i}}}u_{X}^{2}u_{Y}^{2}+1}}{\sqrt{\rho_{XX_{a}}\rho_{YY_{a}}}}
The correction for bivariate indirect range restriction is:
\rho_{TP_{a}}=\frac{\rho_{XY_{i}}u_{X}u_{Y}+\lambda\sqrt{\left|1-u_{X}^{2}\right|\left|1-u_{Y}^{2}\right|}}{\sqrt{\rho_{XX_{a}}\rho_{YY_{a}}}}
where the \lambda
value allows u_{X}
and u_{Y}
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 \lambda
value is computed as:
\lambda=\mathrm{sign}\left[\rho_{ST_{a}}\rho_{SP_{a}}\left(1-u_{X}\right)\left(1-u_{Y}\right)\right]\frac{\mathrm{sign}\left(1-u_{X}\right)\min\left(u_{X},\frac{1}{u_{X}}\right)+\mathrm{sign}\left(1-u_{Y}\right)\min\left(u_{Y},\frac{1}{u_{Y}}\right)}{\min\left(u_{X},\frac{1}{u_{X}}\right)\min\left(u_{Y},\frac{1}{u_{Y}}\right)}
Data frame(s) of observed correlations (rxyi
), range-restricted correlations corrected for measurement error in Y only (rxpi
), range-restricted correlations corrected for measurement error in X only (rtyi
), and range-restricted true-score correlations (rtpi
),
range-corrected observed-score correlations (rxya
), range-corrected correlations corrected for measurement error in Y only (rxpa
), 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. \Sexpr[results=rd]{tools:::Rd_expr_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. \Sexpr[results=rd]{tools:::Rd_expr_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. \Sexpr[results=rd]{tools:::Rd_expr_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. \Sexpr[results=rd]{tools:::Rd_expr_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. \Sexpr[results=rd]{tools:::Rd_expr_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.