Title: | Normalisation of Psychometric Tests |
---|---|
Description: | Functions for normalizing psychometric test scores. The normalization aims at correcting the metrological properties of the psychometric tests such as the ceiling and floor effects and the curvilinearity (unequal interval scaling). Functions to compute and plot predictions in the natural scale of the psychometric test from the estimates of a linear mixed model estimated on the normalized scores are also provided. See Philipps et al (2014) <doi:10.1159/000365637> for details. |
Authors: | Cecile Proust-Lima, Viviane Philipps |
Maintainer: | Cecile Proust-Lima <[email protected]> |
License: | GPL |
Version: | 1.0.8 |
Built: | 2024-11-04 03:48:12 UTC |
Source: | https://github.com/cecileproust-lima/normpsy |
Functions for normalizing psychometric test scores. The normalization aims at correcting the metrological properties of the psychometric tests such as the ceiling and floor effects and the curvilinearity (unequal interval scaling). Functions to compute and plot predictions in the natural scale of the psychometric test from the estimates of a linear mixed model estimated on the normalized scores are also provided. See Philipps et al (2014) <doi:10.1159/000365637> for details.
Package: | NormPsy |
Type: | Package |
Version: | 1.0.8 |
Date: | 2018-05-18 |
License: | GPL |
Built: | R 4.4.1; x86_64-pc-linux-gnu; 2024-11-04 03:48:08 UTC; unix |
Index:
C_backtransformation For internal use only ... NormPsy-package Normalisation of Psychometric Tests normMMSE Normalized scores for the Mini Mental State Examination (MMSE) plot.predMMSE Plot of predicted scores in the natural scale of the psychometric test predictMMSE Prediction of MMSE scores in their natural scale.
Cecile Proust-Lima, Viviane Philipps
Maintainer: Cecile Proust-Lima <[email protected]>
This function transforms crude MMSE scores (range 0 - 30) into normalized scores. The normalized scale ranges from 0 to 100, with MMSE minimum score 0 being transformed into 0 and MMSE maximum score 30 into 100. The normalization preserves the ranking of the test but transforms the gaps between two consecutive values in order to correct the curvilinearity of MMSE. The normalization is specifically adapted for heterogeneous elderly propulations mixing normal and pathological aging.
normMMSE(x)
normMMSE(x)
x |
a numeric vector containing MMSE scores (integer between 0 and 30) |
a vector containing the transformed MMSE scores
Cecile Proust-Lima, Viviane Philipps
Philipps, V. and Amieva, H. and Andrieu, S. and Dufouil C.and Berr, C. and Dartigues, J-F and Jacqmin-Gadda, H. and Proust-Lima, C (2014). Normalized MMSE for assessing cognitive change in population-based aging studies. NeuroEpidemiology 43, 15-25.
#import data paquid from lcmm package library(lcmm) data(paquid) # computation of the normalized MMSE paquid$MMSEnorm <- normMMSE(paquid$MMSE) # histogram of these data par(mfrow=c(1,2)) hist(paquid$MMSE,breaks=seq(-0.5,30.5,1),col=2,main="crude MMSE") hist(paquid$MMSEnorm,breaks=seq(0,100,10),col=3,main="normalized MMSE")
#import data paquid from lcmm package library(lcmm) data(paquid) # computation of the normalized MMSE paquid$MMSEnorm <- normMMSE(paquid$MMSE) # histogram of these data par(mfrow=c(1,2)) hist(paquid$MMSE,breaks=seq(-0.5,30.5,1),col=2,main="crude MMSE") hist(paquid$MMSEnorm,breaks=seq(0,100,10),col=3,main="normalized MMSE")
This function plots the predicted trajectories
obtained with predMMSE
function.
## S3 method for class 'predMMSE' plot(x, legend.loc = "topright", legend, add = FALSE, ...)
## S3 method for class 'predMMSE' plot(x, legend.loc = "topright", legend, add = FALSE, ...)
x |
a predMMSE object |
legend.loc |
keyword for the position of the legend from the list "bottomright", "bottom", "bottomleft", "left", "topleft","top", "topright", "right" and "center". By default, the legend is located in the top right of the plot. |
legend |
character or expression to appear in the legend. If no legend should be added, legend should be NULL. |
add |
optional logical indicating if the curves should be added to an existing plot (add=TRUE) or if a new plot should be created (add=FALSE). By default, add is FALSE. |
... |
other parameters to be passed through to plotting functions or to legend |
Cecile Proust-Lima, Viviane Philipps
#import data paquid from lcmm package library(lcmm) data(paquid) #normalization of MMSE scores paquid$MMSEnorm <- normMMSE(paquid$MMSE) #estimation of a linear mixed model on the normalized data m <- hlme(MMSEnorm~I(age-65)*CEP, random=~I(age-65), subject="ID", data=paquid) #prediction of MMSE scores in the 0-30 scale pred <- predictMMSE(m,VarTime="age",Timelim=c(65,85),nTime=30, Xprofile=c(CEP=1),methInteg='MC',nsim=200,draws=FALSE) #plot of the predictions plot(pred)
#import data paquid from lcmm package library(lcmm) data(paquid) #normalization of MMSE scores paquid$MMSEnorm <- normMMSE(paquid$MMSE) #estimation of a linear mixed model on the normalized data m <- hlme(MMSEnorm~I(age-65)*CEP, random=~I(age-65), subject="ID", data=paquid) #prediction of MMSE scores in the 0-30 scale pred <- predictMMSE(m,VarTime="age",Timelim=c(65,85),nTime=30, Xprofile=c(CEP=1),methInteg='MC',nsim=200,draws=FALSE) #plot of the predictions plot(pred)
From the estimates of a linear mixed model applied on normalized MMSE scores, the function computes the predicted values of MMSE in its natural 0-30 scale. The function also provides 95% confidence intervals computed by a Monte Carlo method.
predictMMSE(model, VarTime, Timelim, nTime, Xprofile, methInteg = "GH", nsim = 20, draws = FALSE, ndraws = 2000)
predictMMSE(model, VarTime, Timelim, nTime, Xprofile, methInteg = "GH", nsim = 20, draws = FALSE, ndraws = 2000)
model |
a hlme object representing a latent class linear mixed model |
VarTime |
a character string containing the name of the time variable in the model |
Timelim |
a numeric vector indicating the time limits of the prediction |
nTime |
an integer indicating the number of prediction times |
Xprofile |
a named vector containing the values of the model's covariate |
methInteg |
integration method used to compute the numerical integration. If 0 or 'GH' (the default) a Gauss-Hermite numerical approximation is employed. Value 1 or 'MC' specifies a Monte Carlo method. |
nsim |
number of integration points used for the integration method specified in argument methInteg |
draws |
optional logical indicating if 95% confidence intervals of the predictions should be calculated. If TRUE, the posterior distribution of the predicted values is approximated by a Monte Carlo method. The predicted value is given by the median value, and the confidence interval is given by the 2.5% and 97.5% percentiles of this distribution. If FALSE (the default), a point prediction is provided. |
ndraws |
optional integer indicating the number of draws in the Monte Carlo approximation if draws=TRUE. |
a predMMSE object consisting in a matrix containing the prediction time, the predicted values and, if draws=TRUE, the lower and upper limits of the confidence interval.
Cecile Proust-Lima, Viviane Philipps
#import data paquid from lcmm package library(lcmm) data(paquid) # computation of the normalized MMSE paquid$MMSEnorm <- normMMSE(paquid$MMSE) # estimation of a model on the normalized MMSE scores m <- hlme(MMSEnorm~I(age-65)*CEP, random=~I(age-65), subject="ID", data=paquid) # prediction from the model in the natural scale of MMSE predictMMSE(m,VarTime="age",Timelim=c(65,85),nTime=30, Xprofile=c(CEP=1),methInteg='MC',nsim=200,draws=FALSE)
#import data paquid from lcmm package library(lcmm) data(paquid) # computation of the normalized MMSE paquid$MMSEnorm <- normMMSE(paquid$MMSE) # estimation of a model on the normalized MMSE scores m <- hlme(MMSEnorm~I(age-65)*CEP, random=~I(age-65), subject="ID", data=paquid) # prediction from the model in the natural scale of MMSE predictMMSE(m,VarTime="age",Timelim=c(65,85),nTime=30, Xprofile=c(CEP=1),methInteg='MC',nsim=200,draws=FALSE)