# Time-intensive part
# Replicate the bootstrap results that were obtained in
# Case study 1 of Chapter 8 in Van der Elst (2023)
# -----------------------------------------------------
library(NormData) # load the NormData package
data(GCSE) # load the GCSE dataset
# Fit the Stage 1 model
Model.1.GCSE <- Stage.1(Dataset=GCSE,
Model=Science.Exam~Gender)
# Normative table with CIs
NormTable.GCSE <- Stage.2.NormTable(
Stage.1.Model=Model.1.GCSE,
Test.Scores=seq(from=10, to=85, by=5),
Grid.Norm.Table=data.frame(Gender=c("F", "M")),
Rounded = FALSE)
summary(NormTable.GCSE)
# Bootstrap the CIs
Bootstrap_NormTable.GCSE <- Bootstrap.Stage.2.NormTable(
Stage.2.NormTable = NormTable.GCSE)
summary(Bootstrap_NormTable.GCSE)
# Replicate the bootstrap results that were obtained in
# Case study 2 of Chapter 8 in Van der Elst (2023)
# ------------------------------------------------
library(NormData) # load the NormData package
data(Substitution) # load the Substitution dataset
# Make the new variable Age.C (= Age centered) that is
# needed to fit the final Stage 1 model,
# and add it to the Substitution dataset
Substitution$Age.C <- Substitution$Age - 50
# Fit the final Stage 1 model
Substitution.Model.9 <- Stage.1(Dataset=Substitution,
Alpha=0.005, Model=LDST~Age.C+LE, Order.Poly.Var=1)
summary(Substitution.Model.9)
# Make the normative table
NormTable.LDST <- Stage.2.NormTable(
Stage.1.Model=Substitution.Model.9,
Test.Scores=seq(from=25, to=40, by=5),
Grid.Norm.Table=expand.grid(
Age.C=seq(from=-30, to=30, by = 1),
LE=c("Low", "Average", "High")), Rounded = FALSE)
# Bootstrap the CIs
Bootstrap_NormTable.LDST <- Bootstrap.Stage.2.NormTable(
Stage.2.NormTable = NormTable.LDST)
summary(Bootstrap_NormTable.LDST)
Run the code above in your browser using DataLab