Provides a user-facing workflow for three common expert-panel tasks:
mode = "relevance": bounded ordinal relevance ratings, combining Aiken's (1980) V (with the score intervals of Penfield and Giacobbi, 2004), the CVI with the modified kappa of Polit et al. (2007), and a panel-level agreement coefficient.mode = "essentiality": Lawshe CVR with exact binomial critical values.mode = "congruence": the index of item-objective congruence of Rovinelli and Hambleton (1977), from ratings of +1, 0, or -1 on each objective (seeioc()).
Quantitative results are presented as evidence for item review rather than as a substitute for expert comments, construct coverage, comprehensibility, or other parts of a content-validity argument.
In essentiality mode an item rated by so few experts that no count could
meet the exact test (four or fewer at the default alpha) is labeled
"Insufficient panel", with status "Insufficient data", as an item rated
by fewer than three experts is in relevance mode. It is not "Review",
which would say the experts had disagreed.
Usage
expert_validity(
data,
mode = c("relevance", "essentiality", "congruence"),
lo = 1,
hi = 4,
relevance_cut = NULL,
N = NULL,
alpha = 0.05,
na.rm = FALSE,
target_col = "target_objective",
ioc_cut = 0.7,
proportion_ci = c("wilson", "agresti_coull", "exact", "none"),
agreement = c("krippendorff", "ac1", "none"),
agreement_level = c("ordinal", "nominal", "interval"),
agreement_B = 1000,
seed = NULL,
legacy = FALSE
)Arguments
- data
Ratings data. For relevance, a judge-by-item numeric matrix/data frame. For essentiality, either a judge-by-item 0/1 matrix/data frame or a vector of essential counts, whose names become the item names when every count has a distinct name. For congruence, a long data frame accepted by
ioc(). In a judge-by-item table every column is an item; a column whose name looks like a rater ID (such asexpertorrater_id) stops the function, so remove it, or rename an item that has such a name.- mode
One of
"relevance","essentiality", or"congruence".- lo, hi
Rating-scale bounds for relevance mode. The default is the 1-4 relevance scale; give the bounds for any other scale, because Aiken's V and the relevance cut both depend on them. The printout states the scale that was used.
- relevance_cut
Lowest rating treated as relevant for CVI. Defaults to
hi - 1, e.g., 3 on a 1-4 scale or 4 on a 1-5 scale, and tohion a two-point scale. The default assumes scale points one unit apart, so set the cut yourself on any other scale. It must lie abovelo: atloevery rating would count as relevant.- N
Panel size for essential-count vector input.
- alpha
Inferential/CI alpha level.
- na.rm
Permit itemwise/cellwise missing ratings where supported.
- target_col
In congruence mode, optional column identifying each item's intended objective. If absent, every item-objective index is described and no decision is made.
- ioc_cut
In congruence mode, the lowest index of item-objective congruence that counts as congruent. The default, .70, is the criterion Rovinelli and Hambleton (1977) applied. Turner and Carlson (2003) extend the index to items written for more than one objective, which this package does not do.
- proportion_ci
Interval method for I-CVI in relevance mode:
"wilson"(default),"agresti_coull","exact", or"none". The interval uses the samealphaas Aiken's V. Seeciincvi()for the methods and the evidence for each.- agreement
Panel-level agreement coefficient for relevance mode:
"krippendorff"(default),"ac1", or"none". Krippendorff's alpha (Hayes & Krippendorff, 2007), which Zapf et al. (2016) recommend for ordinal or incomplete ratings, uses the relevance ratings atagreement_level; Gwet's AC1 uses the relevant/not-relevant decision. Seepanel_agreement()for the evidence behind each, including why AC1 is never the default. Panels with fewer than two experts or two items report no agreement coefficient.- agreement_level
Measurement level for Krippendorff's alpha:
"ordinal"(default),"nominal", or"interval". Ignored for AC1.- agreement_B
Bootstrap resamples for the agreement interval;
0skips the interval.- seed
Optional seed that makes the agreement interval reproducible. The random-number stream of the session is left as it was.
- legacy
Print the earlier published rules beside the decision, for comparison, in relevance and essentiality modes. Default
FALSE. They are computed either way, stored indetails$earlier_methods, and never change the decision;print(fit, legacy = TRUE)shows them for any fit.
Value
An object of class contentvalid_expert and
contentvalid_workflow. All flagship workflow objects expose the common
components results, scale_summary, settings, design, and details.
The historical top-level scale component is retained as a compatibility
alias for scale_summary. Results include a standardized status field
while retaining mode-specific recommendation wording. In relevance mode,
scale_summary also holds agreement, agreement_low, and
agreement_high, and details$agreement holds the full
panel_agreement() result. print(), summary(), and plot() are
described in contentvalid-methods.
Results columns. results has one row per item, and its columns
depend on mode. Every mode ends with recommendation, the decision in
the mode's own words; interpretation, the decision explained in a
sentence; and status, the shared status.
In relevance mode:
itemThe item.
NExperts who rated the item.
n_missingExperts who did not.
VAiken's V.
ci_low,ci_highThe interval for V at level
1 - alpha.ci_methodThe method of that interval, the score interval of Penfield and Giacobbi (2004).
AExperts who rated the item relevant, at or above
relevance_cut.I_CVIThe I-CVI,
A / N.I_CVI_low,I_CVI_highThe interval for the I-CVI, by the method in
proportion_ci;NAwith"none".PcThe probability of chance agreement that modified kappa corrects for (Polit et al., 2007).
kappa_modModified kappa.
cvi_criterionThe I-CVI that Lynn's (1986) criterion requires for the item's panel size, as a proportion;
NAbelow three experts. It is shown for reading: the decision compares counts.kappa_qualityThe band of
kappa_modin the guidelines of Cicchetti and Sparrow (1981) and Fleiss (1981), as cited in Polit et al. (2007), who apply them to modified kappa:"Excellent"above .74,"Good"from .60 to .74,"Fair"from .40 to .59, and"Poor"below .40. The band describes the item and decides nothing; every item that meets the I-CVI criterion is"Excellent".ci_widthThe width of the interval for V,
ci_high - ci_low.recommendation"Strong support"(the item meets the I-CVI criterion),"Review", or"Insufficient panel"(fewer than three experts).
In essentiality mode:
itemThe item.
neExperts who rated the item essential.
NExperts who rated the item.
cvrLawshe's CVR,
(ne - N / 2) / (N / 2).p_valueThe one-sided exact binomial p of
neat a rate of .5.critical_neThe fewest essential ratings that meet the criterion at
alpha;NAwhen no count can.critical_cvrThe CVR of
critical_ne.passWhether
nereachescritical_ne.recommendation"Supported","Review","Insufficient panel"(no count could meet the test), or"Insufficient data"(no expert rated the item).
In congruence mode, with a target objective for each item:
itemThe item.
targetThe objective the item was written for.
n_judgesExperts who rated the item on its target.
target_iocThe index of item-objective congruence for the target.
target_meanThe experts' mean rating on the target, -1 to 1.
strongest_competitorThe other objective with the highest mean rating, ties joined by
", ".competitor_meanThe mean rating on that objective.
margintarget_mean - competitor_mean, a description beside the index, not part of its criterion.recommendation"Congruent"(target_iocat or aboveioc_cut),"Review","Target described"(the item was rated on its target alone, so there is no index), or"Insufficient data".
Without a target objective, congruence results hold item,
n_objectives (objectives the item was rated on), best_objective and
best_ioc (the objective with the highest index, and that index), and
recommendation, which is "Descriptive only".
Earlier methods, for comparison
The decisions use Lynn's (1986) criterion in relevance mode (beyond the ten experts her table covers, this package's extension holding her 7 of 9) and the exact binomial test (Ayre & Scally, 2014) in essentiality mode. Earlier rules are reported beside them for teaching, and none changes a decision:
Essentiality. Lawshe's (1975) Table 1 gives a minimum CVR for 5 to 15 panelists, then every fifth panel size to 40; other sizes have no minimum. He labeled it a one-tailed test at .05. Wilson et al. (2012) found the table closer to a two-tailed test and recomputed it by the normal approximation,
z / sqrt(N)for a one-tailed test atalpha(their Table 2). An item meets Lawshe's minimum when its essential count reaches the count that minimum implies: 8 of 9 for his .78, which is .778 printed to two decimals (Ayre & Scally, 2014). Lawshe's content validity index for the whole set is the mean CVR of the items his table retains (Lawshe, 1975).Relevance. Fleiss' (1971) kappa, his kappa for many raters and nominal categories, on the relevant/not-relevant decision. It needs every expert to rate every item. The printout also notes that S-CVI/Ave is the average congruency percentage, for which Polit and Beck (2006) recommend .90 or higher, while calling .80 a reasonable, even strict, criterion for S-CVI/UA.
Relevance: the content validity coefficient (Ccv) of Hernández-Nieto (2002). For each item, the mean rating divided by the scale maximum, minus \((1/J)^J\) for the \(J\) judges who rated it; the total is the mean over items (Hernández-Nieto, 2002, pp. 130-137). The book calls a value below .80 unacceptable, .80 to .90 satisfactory, and .90 or higher excellent (p. 120). It is shown beside Aiken's V because it is widely cited, and it never informs a decision here, because of its shortcomings:
It uses only each item's mean rating, so it cannot reflect agreement among judges, although the book presents it as measuring agreement as well as validity (p. 157). The book's own Table 7 (pp. 148-149) gives ratings of 1, 3, 4, 5, 2 and of 3, 3, 3, 3, 3 the same .60.
The correction for chance, \((1/J)^J\), is derived by setting the probability that a judge gives a score at random to \(1/J\), one over the number of judges (p. 136), so it depends on neither the ratings nor the number of scale points. It is .037 for three judges, .0039 for four, and .00032 for five, so it barely changes the value.
On a scale starting at 0, the book's preferred scale (pp. 119-120), Ccv before the correction equals Aiken's V. On a scale starting at 1 it cannot fall below 1 divided by the scale maximum (the book notes .33 on a 1-3 scale, p. 160), so it does not reach 0 even when every judge gives the lowest rating. A scale starting below 0 has no Ccv.
The .80 and .90 bands come without derivation, a sampling distribution, or a test, and the book does not keep to them: its Example 11 labels .7968 acceptable (p. 155). The package applies the bands as stated on p. 120.
The book's tables mix .0032 and .00032 for the five-judge correction. The package uses the formula, \((1/5)^5 = .00032\), which reproduces the book's worked totals where they are consistent (for example, .33268 and .99968, pp. 146-148).
References
Aiken, L. R. (1980). Content validity and reliability of single items or questionnaires. Educational and Psychological Measurement, 40(4), 955–959. doi:10.1177/001316448004000419
Ayre, C., & Scally, A. J. (2014). Critical values for Lawshe's content validity ratio: Revisiting the original methods of calculation. Measurement and Evaluation in Counseling and Development, 47(1), 79–86. doi:10.1177/0748175613513808
Fleiss, J. L. (1971). Measuring nominal scale agreement among many raters. Psychological Bulletin, 76(5), 378–382. doi:10.1037/h0031619
Hayes, A. F., & Krippendorff, K. (2007). Answering the call for a standard reliability measure for coding data. Communication Methods and Measures, 1(1), 77–89. doi:10.1080/19312450709336664
Hernández-Nieto, R. (2002). Contributions to statistical analysis: The coefficients of proportional variance, content validity and kappa. BookSurge.
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
Lynn, M. R. (1986). Determination and quantification of content validity. Nursing Research, 35(6), 382–385. doi:10.1097/00006199-198611000-00017
Penfield, R. D., & Giacobbi, P. R., Jr. (2004). Applying a score confidence interval to Aiken's item content-relevance index. Measurement in Physical Education and Exercise Science, 8(4), 213–225. doi:10.1207/s15327841mpee0804_3
Polit, D. F., & Beck, C. T. (2006). The content validity index: Are you sure you know what's being reported? Critique and recommendations. Research in Nursing & Health, 29(5), 489–497. doi:10.1002/nur.20147
Polit, D. F., Beck, C. T., & Owen, S. V. (2007). Is the CVI an acceptable indicator of content validity? Appraisal and recommendations. Research in Nursing & Health, 30(4), 459–467. doi:10.1002/nur.20199
Rovinelli, R. J., & Hambleton, R. K. (1977). On the use of content specialists in the assessment of criterion-referenced test item validity. Dutch Journal of Educational Research, 2, 49–60.
Turner, R. C., & Carlson, L. (2003). Indexes of item-objective congruence for multidimensional items. International Journal of Testing, 3(2), 163–171. doi:10.1207/S15327574IJT0302_5
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
Zapf, A., Castell, S., Morawietz, L., & Karch, A. (2016). Measuring inter-rater reliability for nominal data: Which coefficients and confidence intervals are appropriate? BMC Medical Research Methodology, 16, Article 93. doi:10.1186/s12874-016-0200-9
Examples
relevance <- matrix(
c(4,4,4,3, 4,4,3,4, 3,4,4,4, 4,3,4,4),
nrow = 4,
dimnames = list(NULL, paste0("Item", 1:4))
)
fit <- expert_validity(relevance, mode = "relevance", lo = 1, hi = 4, seed = 1)
fit
#> <contentvalid_expert> Expert-panel analysis
#> Mode: relevance
#> Items: 4 | Experts per item: 4
#> Scale: 1 to 4 | Relevant: a rating of 3 or higher
#> Mean Aiken's V: .92 | S-CVI/Ave: 1.00 | S-CVI/UA: 1.00
#> Panel agreement, Krippendorff's alpha (ordinal): -.25; no 95% CI, because
#> every resample of the items gave the same value. Identical rating pairs:
#> 50%.
#>
#> 4 of 4 items meet the I-CVI criterion.
#>
#> Item Decision Experts V 95% CI I-CVI 95% CI Kappa
#> Item1 Strong support 4 .92 [.65, .99] 1.00 [.51, 1.00] 1.00
#> Item2 Strong support 4 .92 [.65, .99] 1.00 [.51, 1.00] 1.00
#> Item3 Strong support 4 .92 [.65, .99] 1.00 [.51, 1.00] 1.00
#> Item4 Strong support 4 .92 [.65, .99] 1.00 [.51, 1.00] 1.00
#>
#> Each 95% CI follows its estimate: Aiken's V has a Penfield-Giacobbi score
#> interval, and I-CVI the proportion interval named below.
#> I-CVI criterion for 4 experts: 4 agreeing (1.00), following Lynn (1986). Kappa
#> is modified kappa, read as excellent above .74 (Polit et al., 2007).
#> 95% intervals for proportions: Wilson score (the default). Newcombe (1998)
#> compared seven methods and recommends score intervals over the Wald interval.
#> An interval reflects how few ratings an item received, not whether the right
#> people rated it.
#>
#> Panel agreement is one coefficient for the whole panel, whereas modified kappa
#> (the kappa column) describes each item. Alpha can be low when nearly every
#> rating is the same value, even on a panel that agrees closely, so read it
#> beside the share of identical rating pairs. A low alpha with many identical
#> pairs is not by itself evidence of a poor panel. Print x$details$agreement for
#> the full explanation and interval details.
#>
#> CVI criteria are published panel-size guidelines, not universal validity
#> cutoffs.
#>
#> What these columns mean
#> S-CVI/Ave -- Scale-level CVI, averaging method. Mean of the items' I-CVIs;
#> Polit and Beck (2006) recommend .90 or higher.
#> S-CVI/UA -- Scale-level CVI, universal agreement. Share of items every
#> expert rated relevant; it falls as experts are added.
#> V -- Aiken's V. Mean relevance rating rescaled to run from 0 (lowest
#> possible) to 1 (highest).
#> I-CVI -- Item-level Content Validity Index. Share of experts rating the item
#> relevant, against Lynn's criterion for the panel size (beyond ten, this
#> package's).
#> 95% CI after I-CVI -- Interval for I-CVI. Wide because expert panels are
#> small; the method is named above.
#> Kappa -- Modified kappa. I-CVI corrected for chance agreement (at most 1;
#> below 0 only when no expert, or one of three, rated it relevant).
#> Panel agreement -- Panel-level agreement. One coefficient for the whole
#> panel (1 is perfect, 0 is chance); it can be low when nearly every
#> rating is the same.
#>
#> What the decisions mean
#> Strong support -- met the I-CVI criterion, which also puts modified kappa
#> above .74.
#>
#> Full definitions: contentvalid_glossary(). To hide this key:
#> options(contentvalidR.show_key = FALSE).
#>
#> Use quantitative indices alongside expert comments, construct coverage, and
#> comprehensibility review.
#>
#> See summary(x) for the flagged items and content_report(x) for an APA table.
summary(fit)
#> <contentvalid_expert summary> Expert-panel analysis
#> Mode: relevance
#> Scale: 1 to 4 | Relevant: a rating of 3 or higher
#> Strong support: 4 of 4 | Review: 0 of 4
#> I-CVI criterion for 4 experts: 4 agreeing (1.00), following Lynn (1986).
#> Panel agreement, Krippendorff's alpha (ordinal): -.25; no 95% CI, because
#> every resample of the items gave the same value. Identical rating pairs:
#> 50%.
#>
#> No items were flagged by the workflow's quantitative review rules.
#>
#> These summaries support, but do not replace, qualitative content review.
#>
#> See summary(x)$reviewed_items for the flagged items as a data frame.
# Essential counts from 12 experts, beside Lawshe's table and Wilson et al.
expert_validity(c(12, 10, 8, 6), mode = "essentiality", N = 12,
legacy = TRUE)
#> <contentvalid_expert> Expert-panel analysis
#> Mode: essentiality
#> Items: 4 | Experts per item: 12
#> Method: Lawshe CVR with exact binomial critical values
#>
#> 2 of 4 items meet the exact essentiality criterion.
#> Flagged for review: Item3, Item4
#>
#> Item Decision Essential CVR p
#> Item1 Supported 12/12 1.00 < .001
#> Item2 Supported 10/12 .67 .019
#> Item3 Review 8/12 .33 .194
#> Item4 Review 6/12 .00 .613
#>
#> Essential: experts rating the item essential, out of those who rated it.
#> With 12 experts, an item needs at least 10 rating it essential for the exact
#> one-sided binomial test at alpha = .05 (Ayre & Scally, 2014).
#>
#> Earlier methods, for comparison (not used for the decision)
#> Item Decision Essential CVR Lawshe (1975) Wilson et al. (2012)
#> Item1 Supported 12/12 1.00 Meets Meets
#> Item2 Supported 10/12 .67 Meets Meets
#> Item3 Review 8/12 .33 Below Below
#> Item4 Review 6/12 .00 Below Below
#>
#> Lawshe (1975, Table 1): minimum CVR .56 for 12 panelists (10 of 12), which
#> he labeled a one-tailed test at .05. Wilson et al. (2012) found the table
#> closer to a two-tailed test.
#> Wilson et al. (2012, Table 2): minimum CVR .47, the normal approximation
#> z/sqrt(N) at one-tailed alpha = .05.
#> The decision above uses the exact binomial test (Ayre & Scally, 2014).
#> Lawshe's content validity index, the mean CVR of the items his table
#> retains: .83 (2 items).
#>
#> What these columns mean
#> CVR -- Lawshe's Content Validity Ratio. Lean of the panel toward calling the
#> item essential (-1 to 1; above 0 means more than half did).
#>
#> What the decisions mean
#> Supported -- enough experts rated it essential to pass the exact test.
#> Review -- too few experts rated it essential to pass the exact test.
#>
#> Full definitions: contentvalid_glossary(). To hide this key:
#> options(contentvalidR.show_key = FALSE).
#>
#> Use quantitative indices alongside expert comments, construct coverage, and
#> comprehensibility review.
#>
#> See summary(x) for the flagged items and content_report(x) for an APA table.