Package: cNORM 3.6.0

cNORM: Continuous Norming

Generates continuous test norms in psychometrics and biometrics, and analyzing model fit. The package offers both distribution-free modeling using Taylor polynomials and parametric modeling using the beta-binomial and the 'Sinh-Arcsinh' distribution. Originally developed for achievement tests, it is applicable to a wide range of mental, physical, or other test scores dependent on continuous or discrete explanatory variables. The package provides several advantages: It minimizes deviations from representativeness in subsamples, interpolates between discrete levels of explanatory variables, and significantly reduces the required sample size compared to conventional norming per age group. cNORM enables graphical and analytical evaluation of model fit, accommodates a wide range of scales including those with negative and descending values, and as well supports conventional norming. It generates norm tables including confidence intervals. Methods for addressing representativeness issues are available through Iterative Proportional Fitting. Based on Lenhard et al. (2016) <doi:10.1177/1073191116656437>, Lenhard et al. (2019) <doi:10.1371/journal.pone.0222279>, Lenhard and Lenhard (2021) <doi:10.1177/0013164420928457> and Gary et al. (2023) <doi:10.1007/s00181-023-02456-0>.

Authors:Alexandra Lenhard [aut], Wolfgang Lenhard [cre, aut], Sebastian Gary [aut], WPS Publisher [fnd]

cNORM_3.6.0.tar.gz
cNORM_3.6.0.zip(r-4.7)cNORM_3.6.0.zip(r-4.6)cNORM_3.6.0.zip(r-4.5)
cNORM_3.6.0.tgz(r-4.6-any)cNORM_3.6.0.tgz(r-4.5-any)
cNORM_3.6.0.tar.gz(r-4.7-any)cNORM_3.6.0.tar.gz(r-4.6-any)
cNORM_3.6.0.tgz(r-4.6-emscripten)
manual.pdf |manual.html
card.svg |card.png
cNORM/json (API)
NEWS

# Install 'cNORM' in R:
install.packages('cNORM', repos = c('https://wlenhard.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/wlenhard/cnorm/issues

Datasets:
  • CDC - BMI growth curves from age 2 to 25
  • elfe - Sentence completion test from ELFE 1-6
  • ppvt - Vocabulary development from 2.5 to 17

On CRAN:

Conda:

beta-binomialbiometricscontinuous-norminggrowth-curvenorm-scoresnorm-tablesnormalization-techniquespercentilepsychometricsregression-based-normingtaylor-series

6.86 score 2 stars 75 scripts 1.1k downloads 1 mentions 56 exports 18 dependencies

Last updated from:cdf9efc9ee. Checks:7 NOTE, 2 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-x86_64NOTE162
source / vignettesOK237
linux-release-x86_64NOTE161
macos-release-arm64NOTE86
macos-oldrel-arm64NOTE98
windows-develNOTE125
windows-releaseNOTE97
windows-oldrelNOTE105
wasm-releaseOK111

Exports:autoselect.betabinomialautoselect.shashbestModelbetaCoefficientsbuildCnormObjectcheckConsistencycnormcnorm.betabinomialcnorm.cvcNORM.GUIcNORM.GUI2cnorm.shashcomparecomputePowerscomputeWeightsderivationTablederivediagnostics.betabinomialdiagnostics.shashdshashgetGroupsgetNormCurvegetNormScoreSEmodelSummarynormTablenormTable.betabinomialnormTable.shashplotCnormplotDensityplotDerivativeplotNormplotNormCurvesplotPercentilesplotPercentileSeriesplotRawplotSubsetpredictNormpredictRawprepareDataprintSubsetpshashqshashrangeCheckrankByGrouprankBySlidingWindowrawTableregressionFunctionrshashsimulateRaschstandardizetaylorSwiftweighted.quantileweighted.quantile.harrell.davisweighted.quantile.inflationweighted.quantile.type7weighted.rank

Dependencies:clicpp11farverggplot2gluegtableisobandlabelingleapslifecycleR6RColorBrewerrlangS7scalesvctrsviridisLitewithr

Demonstration for Creating Continuous Norms with cNORM

Rendered fromcNORM-Demo.Rmdusingknitr::rmarkdownon May 26 2026.

Last update: 2026-05-25
Started: 2018-07-24

Modelling Norms with the Beta-Binomial Distribution

Rendered fromBetaBinomial.Rmdusingknitr::rmarkdownon May 26 2026.

Last update: 2025-10-03
Started: 2024-07-25

Modelling Norms with the Sinh-Arcsinh (shash) Distribution

Rendered fromsinh.Rmdusingknitr::rmarkdownon May 26 2026.

Last update: 2025-10-03
Started: 2025-09-30

Weighted Regression-Based Norming

Rendered fromWeightedRegression.Rmdusingknitr::rmarkdownon May 26 2026.

Last update: 2025-05-10
Started: 2022-03-25

Readme and manuals

Help Manual

Help pageTopics
Automatic model selection for beta-binomial continuous norming via BICautoselect.betabinomial
Automatic model selection for SinH-ArcSinH continuous norming via BICautoselect.shash
Determine Regression ModelbestModel
Compute Parameters of a Beta Binomial DistributionbetaCoefficients
Build cnorm object from data and bestModel model objectbuildCnormObject
Build regression function for bestModelbuildFunction
Internal function for retrieving regression function coefficients at specific agecalcPolyInL
Internal function for retrieving regression function coefficients at specific agecalcPolyInLBase2
BMI growth curves from age 2 to 25CDC
Check the consistency of the norm data modelcheckConsistency
Check, if NA or values <= 0 occur and issue warningcheckWeights
Continuous Normingcnorm
Fit a beta-binomial regression model for continuous normingcnorm.betabinomial
Fit a beta-binomial regression model for continuous normingcnorm.betabinomial2
Cross-validation for Term Selection in cNORMcnorm.cv
Launcher for the graphical user interface of cNORM for distribution free continuous normingcNORM.GUI
Launch the cNORM Parametric Modeling Shiny ApplicationcNORM.GUI2
Fit a Sinh-Arcsinh (shash) Regression Model for Continuous Normingcnorm.shash
Compare Two Norm Models Visuallycompare
Compute powers of the explanatory variable a as well as of the person location l (data preparation)computePowers
Weighting of cases through iterative proportional fitting (Raking)computeWeights
Create a table based on first order derivative of the regression model for specific agederivationTable
Derivative of regression modelderive
Diagnostic Information for Beta-Binomial Modeldiagnostics.betabinomial
Sentence completion test from ELFE 1-6elfe
Determine groups and group meansgetGroups
Computes the curve for a specific T valuegetNormCurve
Calculates the standard error (SE) or root mean square error (RMSE) of the norm scores In case of large datasets, both results should be almost identicalgetNormScoreSE
Prints the results and regression function of a cnorm modelmodelSummary
Create a norm table based on model for specific agenormTable
Calculate Cumulative Probabilities, Density, Percentiles, and Z-Scores for Beta-Binomial DistributionnormTable.betabinomial
Calculate Norm Tables for Sinh-Arcsinh DistributionnormTable.shash
S3 function for plotting cnorm objectsplot.cnorm
Plot cnormBetaBinomial Model with Data and Percentile Linesplot.cnormBetaBinomial
Plot cnormBetaBinomial Model with Data and Percentile Linesplot.cnormBetaBinomial2
Plot SinH-ArcSinH Model with Data and Percentile Linesplot.cnormShash
General convenience plotting functionplotCnorm
Plot the density function per group by raw scoreplotDensity
Plot first order derivative of regression modelplotDerivative
Plot manifest and fitted norm scoresplotNorm
Plot norm curvesplotNormCurves
Plot norm curves against actual percentilesplotPercentiles
Generates a series of plots with number curves by percentile for different modelsplotPercentileSeries
Plot manifest and fitted raw scoresplotRaw
Evaluate information criteria for regression modelplotSubset
Vocabulary development from 2.5 to 17ppvt
Predict Norm Scores from Raw Scorespredict.cnormBetaBinomial
Predict Norm Scores from Raw Scorespredict.cnormBetaBinomial2
Predict Norm Scores from Raw Scorespredict.cnormShash
Retrieve norm value for raw score at a specific agepredictNorm
Predict raw valuespredictRaw
Prepare data for modeling in one step (convenience method)prepareData
S3 method for printing model selection informationprint.cnorm
Print method for SinH-ArcSinH objectsprint.cnormShash
Print Model Selection InformationprintSubset
Check for horizontal and vertical extrapolationrangeCheck
Determine the norm scores of the participants in each subsamplerankByGroup
Determine the norm scores of the participants by sliding windowrankBySlidingWindow
Create a table with norm scores assigned to raw scores for a specific age based on the regression modelrawTable
Regression functionregressionFunction
Sinh-Arcsinh (shash) Distributiondshash pshash qshash rshash shash
Simulate mean per agesimMean
Simulate sd per agesimSD
Simulate raw test scores based on Rasch modelsimulateRasch
Standardize a numeric vectorstandardize
Function for standardizing raking weights Raking weights get divided by the smallest weight. Thereby, all weights become larger or equal to 1 without changing the ratio of the weights to each other.standardizeRakingWeights
K-fold Resampled Coefficient Estimation for Linear Regressionsubsample_lm
S3 method for printing the results and regression function of a cnorm modelsummary.cnorm
Summarize a Beta-Binomial Continuous Norming Modelsummary.cnormBetaBinomial
Summarize a Beta-Binomial Continuous Norming Modelsummary.cnormBetaBinomial2
Summarize a SinH-ArcSinH Continuous Norming Modelsummary.cnormShash
Swiftly compute Taylor regression models for distribution free continuous normingtaylorSwift
Weighted quantile estimatorweighted.quantile
Weighted Harrell-Davis quantile estimatorweighted.quantile.harrell.davis
Weighted quantile estimator through case inflationweighted.quantile.inflation
Weighted type7 quantile estimatorweighted.quantile.type7
Weighted rank estimationweighted.rank