Conducts continuous norming in one step and returns an object including ranked raw data and the continuous norming model. Please consult the function description of 'rankByGroup', 'rankBySlidingWindow' and 'bestModel' for specifics of the steps in the data preparation and modeling process. In addition to the raw scores, either provide
a numeric vector for the grouping information (group)
a numeric age vector and the width of the sliding window (age, width)
for the ranking of the raw scores. You can adjust the grade of smoothing of the regression model by setting the k and terms parameter. In general, increasing k to more than 4 and the number of terms lead to a higher fit, while lower values lead to more smoothing. The power parameter for the age trajectory can be specified independently by 't'. If both parameters are missing, cnorm uses k = 5 and t = 3 by default.
cnorm(
raw = NULL,
group = NULL,
age = NULL,
width = NA,
weights = NULL,
scale = "T",
method = 4,
descend = FALSE,
k = NULL,
t = NULL,
terms = 0,
R2 = NULL,
plot = TRUE,
extensive = TRUE,
averaging = TRUE,
subsampling = FALSE
)cnorm object including the ranked raw data and the regression model.
Numeric vector of raw scores
Numeric vector of grouping variable, e.g. grade. If no group or age variable is provided, conventional norming is applied.
Numeric vector with chronological age. If used without `group`, please additionally specify `width`.
Size of the sliding window in case an age vector is used.
Optional numeric vector of case weights for post-stratification.
Type of norm scale, either "T" (default), "IQ", "z" or "percentile" (= no transformation); a numeric vector with mean and SD can also be provided, e.g. `c(10, 3)` for Wechsler scale index points.
Ranking method in case of ties; an integer index from 1 (Blom 1958) through 7 (Yu & Huang 2001). Default is 4 (Rankit).
If TRUE, inverts the ranking order so that higher raw scores receive lower norm scores (e.g. for error scores).
Power degree for the location dimension (max 6).
Power degree for the age dimension (max 6).
If > 0, fix the model to this number of terms.
Stopping criterion (adjusted R-squared) for model selection.
If TRUE (default), display percentile plot and report.
If TRUE (default), screen models for monotonic consistency.
If TRUE (default FALSE), apply BIC-weighted model averaging
across the consistency-screened candidate models instead of selecting a
single model. Requires extensive = TRUE and age-based norming.
(deprecated) If TRUE (default is FALSE), use 10-fold subsampled coefficient averaging in `bestModel`.
Gary, S. & Lenhard, W. (2021). In norming we trust. Diagnostica.
Gary, S., Lenhard, W. & Lenhard, A. (2021). Modelling Norm Scores with the cNORM Package in R. Psych, 3(3), 501-521. https://doi.org/10.3390/psych3030033
Gary, S., Lenhard, W., Lenhard, A., & Herzberg, D. (2023). A tutorial on automatic post-stratification and weighting in conventional and regression-based norming of psychometric tests. Behavior Research Methods. https://doi.org/10.3758/s13428-023-02207-0
Gary, S., Lenhard, A., Lenhard, W., & Herzberg, D. S. (2023). Reducing the Bias of Norm Scores in Non-Representative Samples: Weighting as an Adjunct to Continuous Norming Methods. Assessment, 30(8), 2491–2509. https://doi.org/10.1177/10731911231153832
Lenhard, A., Lenhard, W., Suggate, S. & Segerer, R. (2016). A continuous solution to the norming problem. Assessment, Online first, 1-14. doi:10.1177/1073191116656437
Lenhard, A., Lenhard, W., Gary, S. (2018). Continuous Norming (cNORM). The Comprehensive R Network, Package cNORM, available: https://CRAN.R-project.org/package=cNORM
Lenhard, A., Lenhard, W., Gary, S. (2019). Continuous norming of psychometric tests: A simulation study of parametric and semi-parametric approaches. PLoS ONE, 14(9), e0222279. doi:10.1371/journal.pone.0222279
Lenhard, W., & Lenhard, A. (2020). Improvement of Norm Score Quality via Regression-Based Continuous Norming. Educational and Psychological Measurement(Online First), 1-33. https://doi.org/10.1177/0013164420928457
rankByGroup, rankBySlidingWindow, computePowers, bestModel
if (FALSE) {
# Conventional norming
cnorm(raw = elfe$raw)
# Continuous norming via group
m1 <- cnorm(raw = elfe$raw, group = elfe$group)
# Continuous norming via continuous age + sliding window
m2 <- cnorm(raw = ppvt$raw, age = ppvt$age, width = 1)
# Norm tables with confidence intervals
normTable(c(2.125, 2.375, 2.625), m1, CI = .9, reliability = .95)
rawTable (c(2.125, 2.375, 2.625), m1, CI = .9, reliability = .95)
}
Run the code above in your browser using DataLab