Type: Package
Version: 1.2.1
Date: 2023-12-04
Title: A Taylor-Russell Function for Multiple Predictors
Maintainer: Niels Waller <nwaller@umn.edu>
Depends: R (≥ 3.5)
Imports: mvtnorm, shiny, shinyWidgets,
Description: The Taylor Russell model is a widely used method for assessing test validity in personnel selection tasks. The three functions in this package extend this model in a number of notable ways. TR() estimates test validity for a single selection test via the original Taylor Russell model. It extends this model by allowing users greater flexibility in argument choice. For example, users can specify any three of the four parameters (base rate, selection ratio, criterion validity, and positive predictive value) of the Taylor Russell model and estimate the remaining parameter (see the help file for examples). The TaylorRussell() function generalizes the original Taylor Russell model to allow for multiple selection tests (predictors). To our knowledge, this is the first generalization of the Taylor Russell model to allow for three or more selection tests (it is also the first to correctly handle models with two selection tests). TRDemo() is a 'shiny' program for illustrating the underlying logic of the Taylor Russell model. Taylor, HC and Russell, JT (1939) "The relationship of validity coefficients to the practical effectiveness of tests in selection: Discussion and tables" <doi:10.1037/h0057079>.
License: GPL-2 | GPL-3 [expanded from: GPL (≥ 2)]
Encoding: UTF-8
NeedsCompilation: no
RoxygenNote: 7.2.3
Suggests: rmarkdown, knitr
Packaged: 2023-12-04 16:06:20 UTC; nielswaller
Author: Niels Waller [aut, cre], Ziyu Ren [ctb]
Repository: CRAN
Date/Publication: 2023-12-04 21:40:06 UTC

Estimate the parameters of the Taylor-Russell function.

Description

A Taylor-Russell function can be computed with any three of the following four variables: the Base Rate (BR); the Selection Ratio (SR); the Criterion Validity (CV) and the Positive Predictive Value (PPV). The TR() function will compute a Taylor Russell function when given any three of these parameters and estimate the remaining parameter.

Usage

TR(BR = NULL, SR = NULL, CV = NULL, PPV = NULL, PrintLevel = 1, Digits = 3)

Arguments

BR

(numeric): The Base Rate of successful criterion performance (i.e., within the target population, the proportion of individuals who can successfully execute the job demands).

SR

(numeric): The Selection Ratio. A real number between 0 and 1 that denotes the test selection ratio (i.e., the proportion of hired candidates from the target population).

CV

(numeric) The correlation (Criterion Validity) between the selection test and a measure of job performance.

PPV

(numeric): The Positive Predicted Value. The PPV denotes the probability that a hired candidate has the necessary skills to succeed on the job.

PrintLevel

(integer): If PrintLevel = 0 then no output will be printed to screen. If PrintLevel = 1 then a brief summary of output is printed to screen. Default PrintLevel = 1.

Digits

(integer) Controls the number of significant digits in the printed output.

Details

When any three of the main program arguments (BR, SR, CV, PPV) are specified (with the remaining argument given a NULL value), TR() will calculate the model-implied value for the remaining variable. It will also compute the test Sensitivity (defined as the probability that a qualified individual will be hired) and test Specificity (defined as the probability that an unqualified individual will not be hired), the True Positive rate, the False Positive rate, the True Negative rate, and the False Negative rate.

Value

Author(s)

References

Examples


## Example 1:
       TR(BR = .3, 
          SR = NULL, 
          CV = .3, 
          PPV = .5,
          PrintLevel = 1,
          Digits = 3)
  
## Example 2:

       TR(BR = NULL, 
          SR = .1012, 
          CV = .3, 
          PPV = .5,
          PrintLevel = 1,
          Digits = 3)
   
## Example 3: A really bad test!
 # If the BR > PPV then the actual test
 # validity is zero. Thus, do not use the test!

       TR(BR = .50, 
          SR = NULL, 
          CV = .3, 
          PPV = .25,
          PrintLevel = 1,
          Digits = 3)   

A 'shiny' Taylor-Russell demonstration program

Description

TRDemo() is an R 'shiny' function for illustrating the bivariate (i.e., single predictor) Taylor-Russell model for personnel selection. The function can be called from the command prompt (>) by typing:

TRDemo()

After calling the function, users are asked to enter values for 3 of the following 4 variables:

Usage

TRDemo()

Details

TRDemo() is a 'shiny' program for demonstrating the classic Taylor-Russell model for personnel selection.

TRDemo() calculates the model-implied value for the omitted variable and prints all model parameters (e.g., BR, SR, CV, and PPV) to screen. Given these parameters, the function also reports the test Sensitivity (defined as the probability that a qualified individual will be hired) and test Specificity (defined as the probability that an unqualified individual will not be hired). Finally, the function plots a correlation ellipse (associated with the CV) showing the relative proportions of True Positives (TP; hired individuals who are qualified for the job), False Positives (FP; hired individuals who are not qualified for the job), True Negatives (TN; non hired individuals who are not qualified for the job), and False Negatives (FN; non hired individuals who are qualified for the job).

Value

No return value.

Author(s)

References

Examples


# Type TRDemo() from the command prompt (>) to run the 'shiny' app
# in interactive mode.
 
 


A generalized (multiple predictor) Taylor-Russell function.

Description

Generalized Taylor-Russell Function for Multiple Predictors

Usage

TaylorRussell(SR = NULL, BR = NULL, R = NULL, PrintLevel = 0, Digits = 3)

Arguments

SR

(vector) A vector of Selection Ratios for N selection tests.

BR

(scalar) The Base Rate of criterion performance.

R

(matrix) An (N + 1) x (N + 1) correlation matrix in which the predictor/criterion correlations are in column N + 1 of R.

PrintLevel

(integer). If PrintLevel = 0 then no output is printed to screen. If PrintLevel > 0 then output is printed to screen. Defaults to PrintLevel = 0.

Digits

(integer) The number of significant digits in the printed output.

Value

The following output variables are returned.

Author(s)

References

Examples

# Example 1
# Reproduce Table 3 (p. 574) of Taylor and Russell

r <- seq(0, 1, by = .05)
sr <- c(.05, seq(.10, .90, by = .10), .95)
num.r <- length(r)
num.sr <- length(sr)

old <- options(width = 132)

Table3 <- matrix(0, num.r, num.sr)
for(i in 1 : num.r){
   for(j in 1:num.sr){
   
     Table3[i,j] <-  TaylorRussell(
                       SR = sr[j],
                       BR = .20, 
                       R = matrix(c(1, r[i], r[i], 1), 2, 2), 
                       PrintLevel = 0,
                       Digits = 3)$PPV  
   
  }# END over j
}# END over i

rownames(Table3) <- r
colnames(Table3) <- sr
Table3 |> round(2)

# Example 2
# Thomas, Owen, & Gunst (1977) -- Example 1: Criterion = GPA

R <- matrix(c(1, .5, .7,
             .5, 1, .7,
            .7, .7, 1), 3, 3)

 # See Table 6: Target Acceptance = 20%
 out.20 <- TaylorRussell(
 SR = c(.354, .354),  # the marginal probabilities
 BR = .60, 
 R = R,
 PrintLevel = 1) 

# See Table 6:  Target Acceptance = 50%
out.50 <- TaylorRussell(
 SR = c(.653, .653),   # the marginal probabilities
 BR = .60, 
 R = R,
 PrintLevel = 1) 
 
 options(old)