# cNORM - Introduction

cNORM aims at generating continuous test norms in psychometrics and biometrics and to analyze the model fit. The method stems from psychological test construction and was developed to create continuous norms for age or grade in performance assessment (e. g. vocabulary development, reading and writing development, intelligence ...). It includes four essential steps:

1. Preparation
2. Data Modeling
3. Model Validation
4. Generating Norm Tables

You can find these different steps as tabs on the header of the page. For a thorough explanation, please have a look at the tutorial cNORM. In brief, the different steps have the following functions:

### 1. Preparation

First, please load your data or use the example datasets. Your data should include a variable for the raw scores and a grouping variable (e.g. grade or age groups). Additionally, you can use a continuous variable like the exact chronological age. The data is than ranked per group, and a normal score is assigned through normal rank transformation. Afterwards, powers of the explanatory variable (e.g. age or group) and of the normal score is built up to power 4, as well as all linear interactions. Please specify the grouping variable and the variable with the raw scores. If you do not have a continuous explanatory variable besides the grouping variable, please use it as well for the age.

Additional options: You can set the power parameter, the type of norm scale and the algorithm for bindings in the raw data.

### 2. Modeling and Validation

In the data modeling, the most predictive terms from the list of powers and interactions are chosen. Per default, an R2 = .99 is used as a cutoff value. This means, in the modeling, we try to find a regression formula that captures almost all of the variance in the data with as few terms as possible. There is however no definite value to determine the best model and you can as well specify a number of terms. Usually, with 4 terms, a good fit is retrieved with an extremely simple model. In case of inconsistencies in the model, please increase the number of terms. In this step, you as well get an overview of the fit of the different models (R2 plotted against information criteria). You can use that plot for a model selection. The same data are additionally printed as a table at the bottom of the page.

### 3. Visualization

You can now examine the percentiles of the observed data and compare them with the predicted data, check how well the raw data are fitted and how well observed norm scores correspond to the predicted norm scores. Please look out for intersection percentile curves in the plots, because this indicate the boundaries of the model and possible violations. In the derivative plot, the first order derivation of the model is plotted. Negative values (red areas) indicate possible problems and should be checked.

### 4. Generating Norm Tables

The last section can be used to retrieve normal scores for specific raw values at a specific age, or to generate norm tables. These tables can be exported for further processing.

This graphical user interface does not offer all options of the package. For specific cases, please use the command line for more specific parameter settings. If you use the user interface via cNORM.GUI() on your computer, all data stays within your own environment. If you are using the online-version, please consult the Shinyapps.io User Guide for information on security and compliance of their service. cNORM does not story any data uploaded through the web interface.