Title: | Quantifying Construct Validity |
---|---|
Description: | Primarily, the 'qcv' package computes key indices related to the Quantifying Construct Validity procedure (QCV; Westen & Rosenthal, 2003 <doi:10.1037/0022-3514.84.3.608>; see also Furr & Heuckeroth, in press). The qcv() function is the heart of the 'qcv' package, but additional functions in the package provide useful ancillary information related to the QCV procedure. |
Authors: | R. Michael Furr [aut, cre], Sarah Heuckeroth [aut] |
Maintainer: | R. Michael Furr <[email protected]> |
License: | GPL (>= 2) |
Version: | 1.0 |
Built: | 2025-03-05 05:02:08 UTC |
Source: | https://github.com/cran/qcv |
A very simple function, actr() computes the actual correlations between a focal test and a set of criterion variables
actr(df)
actr(df)
df |
data frame consisting of focal test and a set of criterion variables |
The df should contain only scores on the focal test and on the criterion variables. Any additional columns should be deleted. Focal test scores should be in the first column. If you need to reorder columns, you can do so by column number - eg, df <- df[c(1,3,2)] - or by column name - eg, df <- df[c("test", "crit1", "crit2")]
This function uses the "pairwise.complete.obs" option, which handles missing data by pairwise deletion.
data(motdat) actr(motdat)
data(motdat) actr(motdat)
Computes the median intercorrelation among a set of variables
medr(df)
medr(df)
df |
data frame consisting only of variables for which a median intercorrelation is desired |
The data frame should contain only the variables for which a median intercorrelation is desired. For Westen and Rosenthal's (2003) QCV procedure, the data frame should contain only participants' scores on the criterion variables.
This prcoedure handles missing data via the "pairwise.complete.obs" option.
data(motdat) motdatc <- motdat[,2:13] #To retain only the criterion variables (dropping the focal test score) medr(motdatc)
data(motdat) motdatc <- motdat[,2:13] #To retain only the criterion variables (dropping the focal test score) medr(motdatc)
Self-report data from 90 participants, responding to the IM scale and 12 criterion variables.
data(motdat)
data(motdat)
A data frame of 90 rows and 13 variables:
Impression Motivation
Dependence
Machiavellianism
Distrust
Resourcefulness
Self-efficacy
Extraversion
Agreeableness
Complexity
Public self-consciousness
Self-monitoring
Anxiety
Need to belong
data(motdat)
data(motdat)
Produces a plot of actual and predicted correlations
plotqcv(actr, predr, labels)
plotqcv(actr, predr, labels)
actr |
vector of actual validity correlations |
predr |
vector of predicted validity correlations (in same order as actr) |
labels |
vector of text values that are the labels of the QCV criterion variables (in order of actr and predr) |
Important: When entering values for the three arguments, order them identically. For example, if the "actr" values are ordered in terms of c(criterion A, criterion B, criterion C), then the values in "predr" and the labels in "labels" should be placed in that same order.
actrIM <- c(.46, .13, -.24, -.03, .12, .03, .39, .06, .51, .08, .24, .66) predrIM <- c(.58, .24, -.04, .06, -.04, .18, .36, .08, .64, .56, .36, .56) labelsIM <- c("Dep","Mach","Dis","Res","SE","Ext","Agr","Comp","PSC","SM","Anx","NTB") plotqcv(actr=actrIM, predr=predrIM, labels=labelsIM)
actrIM <- c(.46, .13, -.24, -.03, .12, .03, .39, .06, .51, .08, .24, .66) predrIM <- c(.58, .24, -.04, .06, -.04, .18, .36, .08, .64, .56, .36, .56) labelsIM <- c("Dep","Mach","Dis","Res","SE","Ext","Agr","Comp","PSC","SM","Anx","NTB") plotqcv(actr=actrIM, predr=predrIM, labels=labelsIM)
Prints key results from the qcv() function
## S3 method for class 'qcv' print(x, ...)
## S3 method for class 'qcv' print(x, ...)
x |
object of class "qcv" (i.e., output from the qcv() function |
... |
More arguments to pass to the print function. |
actrIM <- c(.46, .13, -.24, -.03, .12, .03, .39, .06, .51, .08, .24, .66) predrIM <- c(.58, .24, -.04, .06, -.04, .18, .36, .08, .64, .56, .36, .56) imqcvout <- qcv(n=90, actr=actrIM, predr=predrIM, medr=.075) print(imqcvout)
actrIM <- c(.46, .13, -.24, -.03, .12, .03, .39, .06, .51, .08, .24, .66) predrIM <- c(.58, .24, -.04, .06, -.04, .18, .36, .08, .64, .56, .36, .56) imqcvout <- qcv(n=90, actr=actrIM, predr=predrIM, medr=.075) print(imqcvout)
Computes key indices related to the Quantifyting Construct Validity (QCV) procedure (Westen & Rosenthal, 2003; see also Furr & Heuckeroth, in prep.)
qcv(n, actr, predr, medr)
qcv(n, actr, predr, medr)
n |
sample size |
actr |
vector of actual validity correlations |
predr |
vector of predicted validity correlations (in same order as actr) |
medr |
median intercorrelation among criterion variables |
This function applies procedures outlined by Westen and Rosenthal (2003; see also Furr & Heuckeroth, in prep).
Important: When entering values for the "actr" and "predr" arguments, order them identically. For example, if the "actr" values are ordered in terms of c(criterion A, criterion B, criterion C), then the values in "predr" should be placed in that same order. Otherwise all results will be incorrect.
Note that extreme zcontrast values (e.g., z > 38) create problems. The rcontrast-CV effect size is computed by converting z to p to t to r (see Westen & Rosenthal, Appendix A & B). However, R (and most other packages) doesn't have precision to convert an extremely large z (e.g., Z = 38) to a p value. For such z values, the p is converted to exactly zero. This makes it impossible to obtain t and rcontrast values. The qcv() function handles this by: a) identifying cases where p is initially exactly zero, and b) re-setting p to the smallest value possible, given the machine on which R us running (usually 2.225074e-308). It then proceeds to compute a t and rcontrast from that adjusted p value. It also prints a note stating that the adjustment has been made and that the p, t, and rcontrast values are lower-bound approximations.
The ralerting-CV effect size
The rcontrast-CV effect size
The zcontrast value
p values associated with Zcontrast
Sample size
Number of criterion variables
Standard deviation of (z-transformed) actual correlations
Median intercorrelation between the critertion variables
Mean of the squared actual correlations (between focal test and criterion variables)
t-value associated with p value
"Remarkablness" of size of contrast
Additional values are returned in a list, but not printed
Westen, D., & Rosenthal, R. (2003). Quantifying construct validity: Two simple measures. Journal of Personality and Social Psychology, 84, 608-618.
Furr, R. M., & Heukeroth, S. (In prep).Advancing the Interpretation and Computation of the "Quantifying Construct Validity" Procedure
actrIM <- c(.46, .13, -.24, -.03, .12, .03, .39, .06, .51, .08, .24, .66) predrIM <- c(.58, .24, -.04, .06, -.04, .18, .36, .08, .64, .56, .36, .56) qcv(n=90, actr=actrIM, predr=predrIM, medr=.075)
actrIM <- c(.46, .13, -.24, -.03, .12, .03, .39, .06, .51, .08, .24, .66) predrIM <- c(.58, .24, -.04, .06, -.04, .18, .36, .08, .64, .56, .36, .56) qcv(n=90, actr=actrIM, predr=predrIM, medr=.075)
Computes a p value for the ralerting-CV effect size
ralertingp(actr, predr, iter)
ralertingp(actr, predr, iter)
actr |
vector of actual validity correlations |
predr |
vector of predicted validity correlations (in same order as actr) |
iter |
the number of randomization samples to be generated |
An inferential test for ralerting-CV, not presented in the original Westen and Rosenthal (2003). The inferential test is based upon randomization procedures. That is, given a set of predicted correlations and a set of actual correlations, ralertingp() randomly pairs values from the two sets, computes an ralerting-CV value, and repeats this process many times (as determined by the user). The actual ralerting-CV value is then compared to the distribution of ralerting-CV values derived from the randomization process. The proportion of values from that distribution that are greater than the actual ralerting-CV value is then taken as a p value.
Important: When entering values for the "actr" and "predr" arguments, order them identically. For example, if the "actr" values are ordered in terms of c(criterion A, criterion B, criterion C), then the values in "predr" should be placed in that same order. Otherwise results will be incorrect.
For relatively small values of k (the number of criterion variables), it is recommended to increase iter (the number of randomization samples. For low-k situations, a small number of randomization samples can produce unstable p values. A larger number of randomization samples would produce more stable results.
It is possible that the randomization process produces no values that are greater than the actual ralerting-CV value. In such cases, ralertingp() reports the p value as < 1/iter.
actrIM <- c(.46, .13, -.24, -.03, .12, .03, .39, .06, .51, .08, .24, .66) predrIM <- c(.58, .24, -.04, .06, -.04, .18, .36, .08, .64, .56, .36, .56) ralertingp(actr=actrIM, predr=predrIM, iter=1000)
actrIM <- c(.46, .13, -.24, -.03, .12, .03, .39, .06, .51, .08, .24, .66) predrIM <- c(.58, .24, -.04, .06, -.04, .18, .36, .08, .64, .56, .36, .56) ralertingp(actr=actrIM, predr=predrIM, iter=1000)