cnorm {cNORM} | R Documentation

## Continuous Norming

### Description

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 vector for both grouping and age (group, age)

- 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.

### Usage

    cnorm(
      raw = NULL,
      group = NULL,
      age = NULL,
      width = NA,
      weights = NULL,
      scale = "T",
      method = 4,
      descend = FALSE,
      k = 4,
      terms = 0,
      R2 = NULL
    )

### Arguments

`raw` | Numeric vector of raw scores
`group` | Numeric vector of grouping variable, e. g. grade
`age` | Numeric vector with chronological age, please additionally specify width of window
`width` | Size of the moving window in case an age vector is used
`weights` | Vector or variable name in the dataset with weights for each individual case. It can be used to compensate for moderate imbalances due to insufficient norm data stratification. Weights should be numerical and positive. Please note, that this feature is currently EXPERIMENTAL and subject to ongoing work! Precision of weighting increases with sample size. On the other hand, in large samples, it is easy to stratificate and then weighting is not needed anymore.
`scale` | type of norm scale, either T (default), IQ, z or percentile (= no transformation); a double vector with the mean and standard deviation can as well, be provided f. e. c(10, 3) for Wechsler scale index points
`method` | Ranking method in case of bindings, please provide an index, choosing from the following methods: 1 = Blom (1958), 2 = Tukey (1949), 3 = Van der Warden (1952), 4 = Rankit (default), 5 = Levenbach (1953), 6 = Filliben (1975), 7 = Yu & Huang (2001)
`descend` | ranking order (default descent = FALSE): inverses the ranking order with higher raw scores getting lower norm scores; relevant for example when norming error scores, where lower scores mean higher performance
`k` | The power constant. Higher values result in more detailed approximations but have the danger of over-fit (default = 4, max = 6)
`terms` | Selection criterion for model building. The best fitting model with this number of terms is used
`R2` | Adjusted R square as a stopping criterion for the model building (default R2 = 0.99)

### Value

cnorm object including the ranked raw data and the regression model

### References

1. Gary, S. & Lenhard, W. (2021). In norming we trust. Diagnostica.

2. 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

3. Lenhard, A., Lenhard, W., Gary, S. (2018). Continuous Norming (cNORM). The Comprehensive R Network, Package cNORM, available: https://CRAN.R-project.org/package=cNORM

4. 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

5. 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

### See Also

rankByGroup, rankBySlidingWindow, computePowers, bestModel

### Examples

    ## Not run:
    # Using this function with the example dataset 'elfe'
    cnorm.elfe <- cnorm(raw = elfe$raw, group = elfe$group)

    # return norm tables including 90% confidence intervals for a
    # test with a reliability of r = .85; table are set to mean of quartal
    # in grade 3 (children completed 2 years of schooling)
    normTable(c(2.125, 2.375, 2.625, 2.875), cnorm.elfe, CI = .90, reliability = .95)

    # ... or instead of raw scores for norm scores, the other way round
    rawTable(c(2.125, 2.375, 2.625, 2.875), cnorm.elfe, CI = .90, reliability = .95)

    # Not really a plausible scenario, but just for demonstration purposes, we will
    # use the PPVT dataset and sex as the weighting variable (1 = male, 2 = female),
    # and consequently, females will get the double weight. This procedure can be used
    # to correct imbalances in the dataset, but it is still experimental. Please use
    # positive, non-zero numerics, preferably integers for this:
    cnorm.ppvt <- cnorm(raw = ppvt$raw, group = ppvt$group, weight = ppvt$sex)

    # Using a continuous age variable instead of distinct groups, using a sliding window for
    # percentile estimation. Please specify continuos variable for age and the sliding window
    # size.

    cnorm.ppvt.continuous <- cnorm(raw = ppvt$raw, age = ppvt$age, width=1)

    ## End(Not run)

[Package cNORM version 2.0.3 Index]