Computes Lawshe's (1975) Content Validity Ratio for one or more items rated by an expert panel. Each expert classifies an item as "essential", "useful but not essential", or "not necessary"; CVR captures the proportion of experts endorsing "essential" relative to chance.
Usage
cvr(
ratings,
essential = 1,
na.rm = FALSE,
ci = FALSE,
n_boot = 2000,
ci_method = c("percentile", "bca"),
conf_level = 0.95,
seed = NULL
)Arguments
- ratings
A numeric matrix or data frame of expert ratings (rows = experts, columns = items). A numeric vector is also accepted, treated as a single item.
- essential
Numeric vector. Rating value(s) that indicate an expert classified the item as "essential". Defaults to
1, matching Lawshe's (1975) original 3-point scale where 1 = essential, 2 = useful but not essential, 3 = not necessary. Pass a vector if multiple values count as essential.- na.rm
Logical. If
TRUE, missing ratings are excluded when counting experts. Defaults toFALSE.- ci
Logical. If
TRUE, returns a data frame with bootstrap confidence intervals alongside the point estimate. Defaults toFALSE(returns a numeric vector, identical to the package's pre-0.2.0 behaviour).- n_boot
Integer. Number of bootstrap replicates when
ci = TRUE. Defaults to 2000 (Davison & Hinkley, 1997; Hesterberg, 2015).- ci_method
Character. One of
"percentile"(default; Efron & Tibshirani, 1993) or"bca"(bias-corrected and accelerated; DiCiccio & Efron, 1996).- conf_level
Numeric. Confidence level between 0 and 1. Defaults to 0.95.
- seed
Integer or
NULL. If supplied, passed toset.seed()for reproducible bootstrap samples. Defaults toNULL.
Value
A named numeric vector of CVR values per item, ranging from -1
to +1. If ratings is a vector, returns a single numeric value.
Details
The formula is:
$$CVR = (n_e - N/2) / (N/2)$$
where \(n_e\) is the number of experts rating the item as essential and N is the total number of experts.
Use cvr_critical() to obtain the minimum CVR considered statistically
significant for a given panel size, following the corrected critical
values of Wilson, Pan, and Schumsky (2012).
References
Lawshe, C. H. (1975). A quantitative approach to content validity. Personnel Psychology, 28(4), 563-575. doi:10.1111/j.1744-6570.1975.tb01393.x
Wilson, F. R., Pan, W., & Schumsky, D. A. (2012). Recalculation of the critical values for Lawshe's content validity ratio. Measurement and Evaluation in Counseling and Development, 45(3), 197-210. doi:10.1177/0748175612440286
Examples
# 10 experts rating 3 items on Lawshe's 3-point scale
# (1 = essential, 2 = useful, 3 = not necessary)
ratings <- matrix(
c(1, 1, 1, 1, 1, 1, 1, 1, 2, 2, # 8 of 10 essential
1, 1, 1, 2, 2, 2, 2, 3, 3, 3, # 3 of 10 essential
1, 1, 1, 1, 1, 1, 1, 1, 1, 1), # 10 of 10 essential
nrow = 10,
dimnames = list(NULL, paste0("item", 1:3))
)
cvr(ratings)
#> item1 item2 item3
#> 0.6 -0.4 1.0
# Compare to the critical value for N = 10
cvr_critical(10)
#> [1] 0.8
# With bootstrap confidence intervals
cvr(ratings, ci = TRUE, n_boot = 1000, seed = 1)
#> item cvr ci_lower ci_upper ci_method conf_level n_boot
#> 1 item1 0.6 0 1.0 percentile 0.95 1000
#> 2 item2 -0.4 -1 0.2 percentile 0.95 1000
#> 3 item3 1.0 1 1.0 percentile 0.95 1000