The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
Fourth public release. v0.4.0 connects content validation to what comes after it: a documented handoff carries the items that survived content review, and the evidence behind each decision, into empirical scale development. It also adds a stricter, selectable criterion for parallel analysis, and fixes the two packaging problems that returned the 0.3.x CRAN submissions.
The package continues to declare Imports: stats
only.
No default changes. Existing calls return the same values as in
0.3.1; qfactor_content() results gain two fields recording
the parallel analysis criterion that ran.
New function: content_handoff().
content_handoff(), which packages a finished
workflow’s item decisions for the next stage of scale development (#27). It
carries the item names that survived content review, the construct each
belongs to where the design defines one, a per-item evidence table with
the decision rule that was applied, the statistics behind each decision,
and the provenance of the analysis.nomologR package, which consumes it in
nomo_screen() and nomo_run(). Every field is a
base type, so neither package depends on the other.keep stay in the evidence table
with carried = FALSE rather than disappearing, and the
printed output says plainly that surviving content review does not
establish how an item will behave empirically.qfactor_content() gains
parallel_criterion, choosing what parallel analysis
compares observed eigenvalues against (#26).
"mean" stays the default, the rule Horn (1965) described
and Zwick and Velicer (1986) evaluated. "percentile"
compares against an upper percentile of the simulated eigenvalue
distribution, following Glorfeld (1995), who found that Horn’s procedure
still tends to retain one or two factors too many.percentile,
defaulting to 95. Both criteria read the same simulation, so they are
directly comparable from one seeded run, and the result records
parallel_criterion and percentile alongside
the comparison values in parallel_eigen..Rbuildignore now excludes .git,
.gitignore, and .gitattributes. Building a
release tarball from a git worktree checkout writes
.git as a file rather than a directory, which
R CMD build does not drop, and CRAN’s incoming pretest
reported it as a hidden file included in error (#14).Patch release for the CRAN submission. Package code, documentation of methods, and results are unchanged from 0.3.0.
Third public release, and the first prepared for CRAN. Every addition rests on published, verifiable methodology, and one design rule runs through the release: where more than one published method exists, researchers choose through an argument whose default is the best-supported option. Methods with published evidence against them stay available for reproducing earlier work, but they are never the default, and selecting one prints the critique.
The package continues to declare Imports: stats
only.
Two defaults change results for existing code.
qfactor_content() now chooses the number of factors by
parallel analysis, and expert_validity() relevance mode now
bootstraps an interval for panel agreement, so set seed
when printed output must be reproducible. Other existing results are
unchanged; the new interval and agreement columns are additions.
New function: panel_agreement().
panel_agreement(), reporting one coefficient for
how consistently an expert panel rated the whole item set, with a
bootstrap interval. It complements the item-level I-CVI and modified
kappa rather than replacing them.irr::kripp.alpha().expert_validity() relevance mode reports panel
agreement in its scale summary, controlled by agreement,
agreement_level, agreement_B, and
seed.qfactor_content()qfactor_content() now
chooses the number of factors with Horn’s (1965) parallel analysis by
default, instead of Kaiser’s eigenvalue-greater-than-1 rule. Calls that
relied on the old default can return a different number of factors. Use
retention = "kaiser" to reproduce earlier results; it
prints the finding of Zwick and Velicer (1986) that the rule severely
overestimates the number of components.n_iter and
seed arguments control it, and the result records
retention, k_suggested, and
parallel_eigen.k_factors still takes precedence, and is
recorded as retention = "fixed".qfactor_content() now cites Schriesheim et al. (1993,
1999), and signal_detection() cites Anderson and Gerbing
(1991).DESCRIPTION now gives DOIs for the methods it cites,
and citation metadata is stamped for 0.3.0.agreement_summary() and the plot() methods
for sort, rating, expert, and sort-power objects now have runnable
examples, so every help page shows how to use its function.
agreement_summary() also points to
panel_agreement().cvi() now reports an interval for each I-CVI
(I_CVI_low, I_CVI_high), and
compute_psa() does the same for each Psa
(psa_low, psa_high). Both indices previously
appeared as bare proportions, usually from small panels.ci in those two
functions, and proportion_ci in
expert_validity() and sort_validity(). The
options are the Wilson score interval (the default; Wilson, 1927), which
Newcombe (1998) recommends over the Wald interval; the Agresti-Coull
adjusted Wald interval (Agresti & Coull, 1998); and the
Clopper-Pearson exact interval (Clopper & Pearson, 1934), which is
conservative. Printed output names the method, the interval level, and
the method’s limits.ci_low and ci_high columns
in expert_validity().Second public release. v0.1.0 established three item-level workflows; v0.2.0 adds the two questions those workflows could not answer — whether conclusions depend on the particular judges used, and whether the item set covers its intended domain — together with multi-round comparison, expert-panel planning, reporting helpers, and a substantial rework of how results explain themselves.
The package continues to declare Imports: stats only.
Every method here is implemented in base R, so the package installs
without a compiler toolchain.
New flagship workflows: judge_validity() and
domain_validity(). New supporting functions:
gtheory_content(), content_structure(),
similarity_from_sort(), compare_rounds(),
expert_power(), content_report(),
contentvalid_glossary(), and an
as.data.frame() method for workflow objects.
compare_rounds(), comparing two or more fitted
workflow objects from successive pretest rounds. Reports each unit’s
status in every round, whether it strengthened, weakened, or held, and
which units entered or left the item set.compare_rounds() also compares the
settings of each round and marks the comparison as not
comparable when they differ. This is the audit trail the workstream
called for: a status change under a changed criterion may reflect only
the changed rule, and the output says so rather than letting a
bookkeeping change read as progress.expert_power(), reporting the exact probability
that an item clears its expert-panel criterion at a given panel size and
assumed endorsement probability, for the panel-size I-CVI guideline or
the Lawshe CVR critical count. It reports the consequences of the panel
sizes asked about rather than recommending one.expert_power() makes the I-CVI criterion’s step visible
instead of smoothing it: because the guideline requires unanimity up to
five experts and 0.78 from six, a fourth or fifth expert lowers
the probability of clearing while a sixth raises it sharply. The plot is
drawn as a step function for the same reason.expert_power() accepts a response_rate
below 1, averaging over the realized panel size rather than assuming the
invited panel arrives intact, which also captures the criterion that a
smaller realized panel triggers.as.data.frame() method for workflow objects,
returning results or the scale summary as a plain data frame with a
workflow column so tables from several analyses stack
without losing their identity.content_report(), building a manuscript-ready
table as a data frame or as Markdown for Quarto and R Markdown. Markdown
is generated directly, so no reporting package is required and none is
added as a dependency. Analysis settings travel with Markdown output as
an attribute, and columns that are entirely missing are dropped.Review never means an item must be
dropped.contentvalid_glossary(), a single source of those
definitions. The inline keys and the glossary read from the same table,
so a term cannot be defined differently in two places.options(contentvalidR.show_key = FALSE) once the
terminology is familiar. Substantive cautions are never suppressed by
that option.Weak in the same row
where an HTD of 0.44 is labeled Very Strong. Output now
explains why, rather than leaving the contrast looking like an
error.domain_validity(), a flagship workflow assessing
whether an item set spans its intended content domain. Its
results table has one row per blueprint cell, supporting
construct-only or crossed construct-by-facet tables of
specifications.targets so expected shares come from the blueprint instead
of an assumption of equal cells.domain.
When it is omitted, the output states plainly that empty cells could not
be detected, rather than implying full coverage.content_structure(), implementing the
multidimensional scaling and hierarchical cluster analysis of expert
item-similarity data described by Sireci and Geisinger (1992, 1995).
Correspondence between recovered clusters and blueprint cells is
quantified with the chance-corrected adjusted Rand index and reported
alongside the raw cross-tabulation.similarity_from_sort(), deriving item
similarities from an item-sort task as the proportion of judges
co-assigning each pair. The documentation states why this is weaker
evidence than pairwise similarity ratings collected for the
purpose.plot.contentvalid_structure(), drawing the expert
content map with items labeled by blueprint cell.judge_validity(), a flagship workflow reporting
how far content-validity conclusions depend on the particular judges who
served on the panel. Unlike the item-oriented workflows, its
results table has one row per judge.gtheory_content(), implementing the
generalizability-theory treatment of content-validity ratings in
Crocker, Llabre, and Miller (1988). Reports item, judge, and residual
variance components, generalizability (relative) and dependability
(absolute) coefficients, and a decision study giving the panel size
implied by a target coefficient.Review is not a
judge to delete: disagreement may be substantive expertise, and the flag
marks where a conclusion rests on one person’s ratings.GPL-3.0-only; R metadata GPL-3), retaining
the original MIT notice in inst/NOTICE. The previously
published v0.1.0 release keeps its original MIT terms; this release does
not relicense it retroactively.DESCRIPTION.bak file.contentvalidR, providing
reproducible quantitative tools for substantive and content-oriented
scale pretesting.sort_validity() for item sorting,
rating_validity() for construct ratings, and
expert_validity() for relevance, essentiality, and
congruence expert panels.--as-cran NOTE-as-failure gate.actions/checkout@v7 and current
r-lib/actions@v2 conventions.data-raw/release-check.R developer
checklist covering documentation, tests, README, standard and
--as-cran checks, optional URL/spelling audits, and pkgdown
construction.cran-comments.md for the first
submission; it is excluded from the built package and must be populated
with actual final check results before submission.data-raw/ provenance script that regenerates
them.inst/CITATION for the package and a centralized
inst/REFERENCES.bib bibliography covering the
release-defining methods and verified DOIs.sort_validity(),
rating_validity(), and expert_validity()
around a common workflow-object contract: results,
scale_summary, settings, design,
and details, with a shared
contentvalid_workflow superclass.status field
(Supported, Review,
Insufficient data, or Descriptive only) while
preserving method-specific recommendation wording such as
Retain, Strong support, and
Target favored.summary() objects around common counts,
reviewed-item tables, scale summaries, settings, and design metadata;
retained n_retain, expert
scale/flagged, and rating
contrasts compatibility aliases.digits and plot
show_legend controls across the primary workflow methods
and exact sort-power planning object.orbiting_r specifications.NA (rather than an out-of-range sentinel) and hardened
regression tests against brittle error-message wording.expert_validity() is available in
clean installs and vignette builds.show_legend = FALSE to workflow plot methods for
compact/custom reporting.expert_validity() with relevance, essentiality,
and congruence modes plus informative print(),
summary(), and plot() methods.cvr() to support item-specific panel sizes and
judge-by-item 0/1 input, with exact one-sided binomial p-values and
critical counts following Ayre and Scally’s revisiting of Lawshe’s
method.ioc() input validation, duplicate detection,
and missing-data reporting.actions/checkout@v4 to the
current Node-24-compatible actions/checkout@v7 line.htc() and htd() for Hinkin-Tracey
definitional correspondence and distinctiveness, with explicit
rating-anchor validation.anova_content() around the fully crossed
within-judge design used by the Hinkin-Tracey rating procedure. The
function now uses a one-way repeated- measures ANOVA with
Greenhouse-Geisser corrected omnibus inference plus planned
target-versus-orbiting contrasts and retains a between-judge path only
for genuinely independent designs. Raw omnibus p values remain available
for transparency.rating_validity() as the recommended user-facing
construct-rating workflow, including strongest-competitor diagnostics,
Retain/Review/ Insufficient-data screening, and narrative print/summary
output.plot.contentvalid_rating() for dependency-free
HTC/HTD item plots.sort_validity() now reports target-scale definitional
correspondence and distinctiveness alongside Howard-Melloy item-level
Retain/Review decisions.compute_csv() now reports the strongest competing
construct(s), making item confusion easier to diagnose.sort_power() for exact binomial design/power
planning.plot.contentvalid_sort() for dependency-free
item-level Psa/Csv plots.compute_csv() when all non-target assignments
fall in a single construct; unanimous assignment to the same wrong
construct now correctly yields Csv = -1.compute_psa() and compute_csv() now use
non-missing itemwise denominators, report n_total,
n, and n_missing, and validate duplicate
item-rater rows and inconsistent target mappings.cvi() to
use the probability of exactly A agreements, and added
S-CVI/UA plus item-specific effective judge counts.signal_detection() and changed phi calculations to preserve
the direction of association.csv_binom_test() as exact Howard-Melloy
target-count inference and added the critical target-assignment count to
its output.sort_validity() as the first recommended
user-facing workflow, with classed results, informative
print()/summary() methods, and restrained
Retain/Review/Insufficient-data recommendations.These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.