Load
library(thurstonianIRT)
The data
First the data have to be encoded from Rank to binary. Examples of
encoding are shown bellow.
Example 1
| {A, B} |
{A, C} |
{B, C} |
| 1 |
1 |
1 |
Example 2
| {A, B} |
{A, C} |
{B, C} |
| 0 |
1 |
1 |
The coded data
data("triplets")
head(triplets)
## i1i2 i1i3 i2i3 i4i5 i4i6 i5i6 i7i8 i7i9 i8i9 i10i11 i10i12 i11i12
## 1 1 0 0 1 0 0 1 1 1 0 1 1
## 2 0 0 1 0 0 0 0 0 1 0 0 0
## 3 0 0 1 0 0 1 0 1 1 0 0 0
## 4 0 0 1 1 1 0 1 1 0 0 0 0
## 5 1 1 1 0 0 1 1 1 0 1 0 0
## 6 1 1 1 0 0 1 1 0 0 0 1 1
Define blocks
blocks<-set_block(c("i1","i2","i3"),
traits=c("t1","t2","t3"),
signs=c(1,1,1))+
set_block(c("i4","i5","i6"),
traits=c("t1","t2","t3"),
signs=c(-1,1,1))+
set_block(c("i7","i8","i9"),
traits=c("t1","t2","t3"),
signs=c(1,1,-1))+
set_block(c("i10","i11","i12"),
traits=c("t1","t2","t3"),
signs=c(1,-1,1))
data.frame(blocks$blocks)
## items traits names signs items.1 traits.1 names.1 signs.1 items.2 traits.2 names.2 signs.2 items.3 traits.3 names.3 signs.3
## 1 i1 t1 i1 1 i4 t1 i4 -1 i7 t1 i7 1 i10 t1 i10 1
## 2 i2 t2 i2 1 i5 t2 i5 1 i8 t2 i8 1 i11 t2 i11 -1
## 3 i3 t3 i3 1 i6 t3 i6 1 i9 t3 i9 -1 i12 t3 i12 1
Triplets
data_tirt<-make_TIRT_data(data=triplets,blocks=blocks,direction="larger",format="pairwise",family="bernoulli",range=c(0,1))
data_sem<-make_sem_data(data=data_tirt)
data_stan<-make_stan_data(data=data_tirt)
spesification_lavaan<-make_lavaan_code(data_tirt)
spesification_mplus<-make_mplus_code(data_tirt)
Model Spesification
# Spesification in lavaan
cat(spesification_lavaan)
## # factor loadings (lambda)
## trait1 =~ start(1) * i1i2 + L1 * i1i2 + start(1) * i1i3 + L1 * i1i3 + start(1) * i4i5 + L4 * i4i5 + start(1) * i4i6 + L4 * i4i6 + start(1) * i7i8 + L7 * i7i8 + start(1) * i7i9 + L7 * i7i9 + start(1) * i10i11 + L10 * i10i11 + start(1) * i10i12 + L10 * i10i12
## trait2 =~ start(-1) * i1i2 + L2n * i1i2 + start(1) * i2i3 + L2 * i2i3 + start(-1) * i4i5 + L5n * i4i5 + start(1) * i5i6 + L5 * i5i6 + start(-1) * i7i8 + L8n * i7i8 + start(1) * i8i9 + L8 * i8i9 + start(-1) * i10i11 + L11n * i10i11 + start(1) * i11i12 + L11 * i11i12
## trait3 =~ start(-1) * i1i3 + L3n * i1i3 + start(-1) * i2i3 + L3n * i2i3 + start(-1) * i4i6 + L6n * i4i6 + start(-1) * i5i6 + L6n * i5i6 + start(-1) * i7i9 + L9n * i7i9 + start(-1) * i8i9 + L9n * i8i9 + start(-1) * i10i12 + L12n * i10i12 + start(-1) * i11i12 + L12n * i11i12
##
## # fix factor variances to 1
## trait1 ~~ 1 * trait1
## trait2 ~~ 1 * trait2
## trait3 ~~ 1 * trait3
##
## # factor correlations
## trait1 ~~ trait2 + trait3
## trait2 ~~ trait3
##
## # fix factor loadings of the same item to the same value
## L2 == -L2n
## L5 == -L5n
## L8 == -L8n
## L11 == -L11n
##
## # declare uniquenesses (psi)
## i1i2 ~~ P1P2 * i1i2
## i1i3 ~~ P1P3 * i1i3
## i2i3 ~~ P2P3 * i2i3
## i4i5 ~~ P4P5 * i4i5
## i4i6 ~~ P4P6 * i4i6
## i5i6 ~~ P5P6 * i5i6
## i7i8 ~~ P7P8 * i7i8
## i7i9 ~~ P7P9 * i7i9
## i8i9 ~~ P8P9 * i8i9
## i10i11 ~~ P10P11 * i10i11
## i10i12 ~~ P10P12 * i10i12
## i11i12 ~~ P11P12 * i11i12
##
## # correlated uniqunesses
## i1i2 ~~ start(1) * i1i3 + P1 * i1i3
## i1i2 ~~ start(-1) * i2i3 + P2n * i2i3
## i1i3 ~~ start(1) * i2i3 + P3 * i2i3
## i4i5 ~~ start(1) * i4i6 + P4 * i4i6
## i4i5 ~~ start(-1) * i5i6 + P5n * i5i6
## i4i6 ~~ start(1) * i5i6 + P6 * i5i6
## i7i8 ~~ start(1) * i7i9 + P7 * i7i9
## i7i8 ~~ start(-1) * i8i9 + P8n * i8i9
## i7i9 ~~ start(1) * i8i9 + P9 * i8i9
## i10i11 ~~ start(1) * i10i12 + P10 * i10i12
## i10i11 ~~ start(-1) * i11i12 + P11n * i11i12
## i10i12 ~~ start(1) * i11i12 + P12 * i11i12
##
## # pair's uniqueness is equal to sum of 2 utility uniqunesses
## P1P2 == P1 - P2n
## P1P3 == P1 + P3
## P2P3 == - P2n + P3
## P4P5 == P4 - P5n
## P4P6 == P4 + P6
## P5P6 == - P5n + P6
## P7P8 == P7 - P8n
## P7P9 == P7 + P9
## P8P9 == - P8n + P9
## P10P11 == P10 - P11n
## P10P12 == P10 + P12
## P11P12 == - P11n + P12
##
## # fix certain uniquenesses for identification
## P1 == 1
## P4 == 1
## P7 == 1
## P10 == 1
##
## # force item parameters of the same item to be equal
# Spesification in MPLUS
cat(spesification_lavaan)
## # factor loadings (lambda)
## trait1 =~ start(1) * i1i2 + L1 * i1i2 + start(1) * i1i3 + L1 * i1i3 + start(1) * i4i5 + L4 * i4i5 + start(1) * i4i6 + L4 * i4i6 + start(1) * i7i8 + L7 * i7i8 + start(1) * i7i9 + L7 * i7i9 + start(1) * i10i11 + L10 * i10i11 + start(1) * i10i12 + L10 * i10i12
## trait2 =~ start(-1) * i1i2 + L2n * i1i2 + start(1) * i2i3 + L2 * i2i3 + start(-1) * i4i5 + L5n * i4i5 + start(1) * i5i6 + L5 * i5i6 + start(-1) * i7i8 + L8n * i7i8 + start(1) * i8i9 + L8 * i8i9 + start(-1) * i10i11 + L11n * i10i11 + start(1) * i11i12 + L11 * i11i12
## trait3 =~ start(-1) * i1i3 + L3n * i1i3 + start(-1) * i2i3 + L3n * i2i3 + start(-1) * i4i6 + L6n * i4i6 + start(-1) * i5i6 + L6n * i5i6 + start(-1) * i7i9 + L9n * i7i9 + start(-1) * i8i9 + L9n * i8i9 + start(-1) * i10i12 + L12n * i10i12 + start(-1) * i11i12 + L12n * i11i12
##
## # fix factor variances to 1
## trait1 ~~ 1 * trait1
## trait2 ~~ 1 * trait2
## trait3 ~~ 1 * trait3
##
## # factor correlations
## trait1 ~~ trait2 + trait3
## trait2 ~~ trait3
##
## # fix factor loadings of the same item to the same value
## L2 == -L2n
## L5 == -L5n
## L8 == -L8n
## L11 == -L11n
##
## # declare uniquenesses (psi)
## i1i2 ~~ P1P2 * i1i2
## i1i3 ~~ P1P3 * i1i3
## i2i3 ~~ P2P3 * i2i3
## i4i5 ~~ P4P5 * i4i5
## i4i6 ~~ P4P6 * i4i6
## i5i6 ~~ P5P6 * i5i6
## i7i8 ~~ P7P8 * i7i8
## i7i9 ~~ P7P9 * i7i9
## i8i9 ~~ P8P9 * i8i9
## i10i11 ~~ P10P11 * i10i11
## i10i12 ~~ P10P12 * i10i12
## i11i12 ~~ P11P12 * i11i12
##
## # correlated uniqunesses
## i1i2 ~~ start(1) * i1i3 + P1 * i1i3
## i1i2 ~~ start(-1) * i2i3 + P2n * i2i3
## i1i3 ~~ start(1) * i2i3 + P3 * i2i3
## i4i5 ~~ start(1) * i4i6 + P4 * i4i6
## i4i5 ~~ start(-1) * i5i6 + P5n * i5i6
## i4i6 ~~ start(1) * i5i6 + P6 * i5i6
## i7i8 ~~ start(1) * i7i9 + P7 * i7i9
## i7i8 ~~ start(-1) * i8i9 + P8n * i8i9
## i7i9 ~~ start(1) * i8i9 + P9 * i8i9
## i10i11 ~~ start(1) * i10i12 + P10 * i10i12
## i10i11 ~~ start(-1) * i11i12 + P11n * i11i12
## i10i12 ~~ start(1) * i11i12 + P12 * i11i12
##
## # pair's uniqueness is equal to sum of 2 utility uniqunesses
## P1P2 == P1 - P2n
## P1P3 == P1 + P3
## P2P3 == - P2n + P3
## P4P5 == P4 - P5n
## P4P6 == P4 + P6
## P5P6 == - P5n + P6
## P7P8 == P7 - P8n
## P7P9 == P7 + P9
## P8P9 == - P8n + P9
## P10P11 == P10 - P11n
## P10P12 == P10 + P12
## P11P12 == - P11n + P12
##
## # fix certain uniquenesses for identification
## P1 == 1
## P4 == 1
## P7 == 1
## P10 == 1
##
## # force item parameters of the same item to be equal
cat(spesification_mplus$TITLE)
## Thurstonian IRT model
cat(spesification_mplus$DATA)
## ! It is assumed that the input file contains only item responses
## ! Any additional variables should be added below
cat(spesification_mplus$VARIABLE)
## CATEGORICAL ARE ALL;
cat(spesification_mplus$ANALYSIS)
## ESTIMATOR = ulsmv;
## ITERATIONS = 1000;
## PARAMETERIZATION = theta;
cat(spesification_mplus$MODEL)
## ! factor loadings (lambda)
## trait1 BY
## i1i2*1 (L1)
## i1i3*1 (L1)
## i4i5*1 (L4)
## i4i6*1 (L4)
## i7i8*1 (L7)
## i7i9*1 (L7)
## i10i11*1 (L10)
## i10i12*1 (L10);
##
## trait2 BY
## i1i2*-1 (L2n)
## i2i3*1 (L2)
## i4i5*-1 (L5n)
## i5i6*1 (L5)
## i7i8*-1 (L8n)
## i8i9*1 (L8)
## i10i11*-1 (L11n)
## i11i12*1 (L11);
##
## trait3 BY
## i1i3*-1 (L3n)
## i2i3*-1 (L3n)
## i4i6*-1 (L6n)
## i5i6*-1 (L6n)
## i7i9*-1 (L9n)
## i8i9*-1 (L9n)
## i10i12*-1 (L12n)
## i11i12*-1 (L12n);
##
##
## ! fix factor variances to 1
## trait1@1
## trait2@1
## trait3@1
##
## ! factor correlations
## trait1 WITH
## trait2*0
## trait3*0;
## trait2 WITH
## trait3*0;
##
## ! declare uniquenesses (psi)
## i1i2*1 (P1P2);
## i1i3*1 (P1P3);
## i2i3*1 (P2P3);
## i4i5*1 (P4P5);
## i4i6*1 (P4P6);
## i5i6*1 (P5P6);
## i7i8*1 (P7P8);
## i7i9*1 (P7P9);
## i8i9*1 (P8P9);
## i10i11*1 (P10P11);
## i10i12*1 (P10P12);
## i11i12*1 (P11P12);
##
## ! correlated uniqunesses
## i1i2 WITH i1i3*1 (P1);
## i1i2 WITH i2i3*-1 (P2n);
## i1i3 WITH i2i3*1 (P3);
## i4i5 WITH i4i6*1 (P4);
## i4i5 WITH i5i6*-1 (P5n);
## i4i6 WITH i5i6*1 (P6);
## i7i8 WITH i7i9*1 (P7);
## i7i8 WITH i8i9*-1 (P8n);
## i7i9 WITH i8i9*1 (P9);
## i10i11 WITH i10i12*1 (P10);
## i10i11 WITH i11i12*-1 (P11n);
## i10i12 WITH i11i12*1 (P12);
cat(spesification_mplus$MODELCONSTRAINT)
## ! fix factor loadings of the same item to the same value
## L2 = -L2n;
## L5 = -L5n;
## L8 = -L8n;
## L11 = -L11n;
##
## ! pair's uniqueness is equal to sum of 2 utility uniqunesses
## P1P2 = P1- P2n;
## P1P3 = P1 + P3;
## P2P3 = - P2n + P3;
## P4P5 = P4- P5n;
## P4P6 = P4 + P6;
## P5P6 = - P5n + P6;
## P7P8 = P7- P8n;
## P7P9 = P7 + P9;
## P8P9 = - P8n + P9;
## P10P11 = P10- P11n;
## P10P12 = P10 + P12;
## P11P12 = - P11n + P12;
##
## ! fix certain uniquenesses for identification
## P1 = 1;
## P4 = 1;
## P7 = 1;
## P10 = 1;
##
## ! force item parameters of the same item to be equal
##
## ! trait scores for individuals are estimated and saved in a file
cat(spesification_mplus$SAVEDATA)
## FILE IS 'eta.csv';
## SAVE = FSCORES;
Model fit
fit_lavaan<-fit_TIRT_lavaan(data_tirt,control=list(maxiter=1000))
# fit_mplus<-fit_TIRT_mplus(data_tirt)
fit_stan<-fit_TIRT_stan(data_tirt)
##
## SAMPLING FOR MODEL 'thurstonian_irt_model' NOW (CHAIN 1).
## Chain 1:
## Chain 1: Gradient evaluation took 0.000694 seconds
## Chain 1: 1000 transitions using 10 leapfrog steps per transition would take 6.94 seconds.
## Chain 1: Adjust your expectations accordingly!
## Chain 1:
## Chain 1:
## Chain 1: Iteration: 1 / 2000 [ 0%] (Warmup)
## Chain 1: Iteration: 200 / 2000 [ 10%] (Warmup)
## Chain 1: Iteration: 400 / 2000 [ 20%] (Warmup)
## Chain 1: Iteration: 600 / 2000 [ 30%] (Warmup)
## Chain 1: Iteration: 800 / 2000 [ 40%] (Warmup)
## Chain 1: Iteration: 1000 / 2000 [ 50%] (Warmup)
## Chain 1: Iteration: 1001 / 2000 [ 50%] (Sampling)
## Chain 1: Iteration: 1200 / 2000 [ 60%] (Sampling)
## Chain 1: Iteration: 1400 / 2000 [ 70%] (Sampling)
## Chain 1: Iteration: 1600 / 2000 [ 80%] (Sampling)
## Chain 1: Iteration: 1800 / 2000 [ 90%] (Sampling)
## Chain 1: Iteration: 2000 / 2000 [100%] (Sampling)
## Chain 1:
## Chain 1: Elapsed Time: 42.104 seconds (Warm-up)
## Chain 1: 35.213 seconds (Sampling)
## Chain 1: 77.317 seconds (Total)
## Chain 1:
##
## SAMPLING FOR MODEL 'thurstonian_irt_model' NOW (CHAIN 2).
## Chain 2:
## Chain 2: Gradient evaluation took 0.000418 seconds
## Chain 2: 1000 transitions using 10 leapfrog steps per transition would take 4.18 seconds.
## Chain 2: Adjust your expectations accordingly!
## Chain 2:
## Chain 2:
## Chain 2: Iteration: 1 / 2000 [ 0%] (Warmup)
## Chain 2: Iteration: 200 / 2000 [ 10%] (Warmup)
## Chain 2: Iteration: 400 / 2000 [ 20%] (Warmup)
## Chain 2: Iteration: 600 / 2000 [ 30%] (Warmup)
## Chain 2: Iteration: 800 / 2000 [ 40%] (Warmup)
## Chain 2: Iteration: 1000 / 2000 [ 50%] (Warmup)
## Chain 2: Iteration: 1001 / 2000 [ 50%] (Sampling)
## Chain 2: Iteration: 1200 / 2000 [ 60%] (Sampling)
## Chain 2: Iteration: 1400 / 2000 [ 70%] (Sampling)
## Chain 2: Iteration: 1600 / 2000 [ 80%] (Sampling)
## Chain 2: Iteration: 1800 / 2000 [ 90%] (Sampling)
## Chain 2: Iteration: 2000 / 2000 [100%] (Sampling)
## Chain 2:
## Chain 2: Elapsed Time: 41.256 seconds (Warm-up)
## Chain 2: 35.117 seconds (Sampling)
## Chain 2: 76.373 seconds (Total)
## Chain 2:
##
## SAMPLING FOR MODEL 'thurstonian_irt_model' NOW (CHAIN 3).
## Chain 3:
## Chain 3: Gradient evaluation took 0.000414 seconds
## Chain 3: 1000 transitions using 10 leapfrog steps per transition would take 4.14 seconds.
## Chain 3: Adjust your expectations accordingly!
## Chain 3:
## Chain 3:
## Chain 3: Iteration: 1 / 2000 [ 0%] (Warmup)
## Chain 3: Iteration: 200 / 2000 [ 10%] (Warmup)
## Chain 3: Iteration: 400 / 2000 [ 20%] (Warmup)
## Chain 3: Iteration: 600 / 2000 [ 30%] (Warmup)
## Chain 3: Iteration: 800 / 2000 [ 40%] (Warmup)
## Chain 3: Iteration: 1000 / 2000 [ 50%] (Warmup)
## Chain 3: Iteration: 1001 / 2000 [ 50%] (Sampling)
## Chain 3: Iteration: 1200 / 2000 [ 60%] (Sampling)
## Chain 3: Iteration: 1400 / 2000 [ 70%] (Sampling)
## Chain 3: Iteration: 1600 / 2000 [ 80%] (Sampling)
## Chain 3: Iteration: 1800 / 2000 [ 90%] (Sampling)
## Chain 3: Iteration: 2000 / 2000 [100%] (Sampling)
## Chain 3:
## Chain 3: Elapsed Time: 41.624 seconds (Warm-up)
## Chain 3: 35.242 seconds (Sampling)
## Chain 3: 76.866 seconds (Total)
## Chain 3:
##
## SAMPLING FOR MODEL 'thurstonian_irt_model' NOW (CHAIN 4).
## Chain 4:
## Chain 4: Gradient evaluation took 0.000417 seconds
## Chain 4: 1000 transitions using 10 leapfrog steps per transition would take 4.17 seconds.
## Chain 4: Adjust your expectations accordingly!
## Chain 4:
## Chain 4:
## Chain 4: Iteration: 1 / 2000 [ 0%] (Warmup)
## Chain 4: Iteration: 200 / 2000 [ 10%] (Warmup)
## Chain 4: Iteration: 400 / 2000 [ 20%] (Warmup)
## Chain 4: Iteration: 600 / 2000 [ 30%] (Warmup)
## Chain 4: Iteration: 800 / 2000 [ 40%] (Warmup)
## Chain 4: Iteration: 1000 / 2000 [ 50%] (Warmup)
## Chain 4: Iteration: 1001 / 2000 [ 50%] (Sampling)
## Chain 4: Iteration: 1200 / 2000 [ 60%] (Sampling)
## Chain 4: Iteration: 1400 / 2000 [ 70%] (Sampling)
## Chain 4: Iteration: 1600 / 2000 [ 80%] (Sampling)
## Chain 4: Iteration: 1800 / 2000 [ 90%] (Sampling)
## Chain 4: Iteration: 2000 / 2000 [100%] (Sampling)
## Chain 4:
## Chain 4: Elapsed Time: 41.308 seconds (Warm-up)
## Chain 4: 35.969 seconds (Sampling)
## Chain 4: 77.277 seconds (Total)
## Chain 4:
model<-fit_lavaan$fit
predict(fit_lavaan,newdata=data_tirt)
## # A tibble: 600 × 3
## id trait estimate
##
## 1 1 trait1 0.300
## 2 1 trait2 -1.21
## 3 1 trait3 0.143
## 4 2 trait1 -0.915
## 5 2 trait2 0.858
## 6 2 trait3 0.640
## 7 3 trait1 -0.631
## 8 3 trait2 1.34
## 9 3 trait3 0.877
## 10 4 trait1 -0.952
## # ℹ 590 more rows
Plot Model
semPlot::semPaths(model,what="est",rotation=2,reorder=FALSE)

semPlot::semPaths(model,what="std",rotation=2,reorder=FALSE)

semPlot::semPaths(model,what="paths",rotation=2,reorder=FALSE)

Evaluate Model
# Fit indices
pt<-options(fit=c("GFI","AGFI","RMSEA","NFI","NNFI","CFI","RNI","IFI","SRMR","AIC","AICc","BIC","CAIC"))
fit_index<-data.frame(fit=lavaan::inspect(model,"fit"))
round(fit_index,2)
## fit
## npar 35.00
## fmin 0.17
## chisq 69.54
## df 43.00
## pvalue NA
## chisq.scaled 46.71
## df.scaled 43.00
## pvalue.scaled 0.32
## chisq.scaling.factor 2.01
## baseline.chisq 1615.94
## baseline.df 66.00
## baseline.pvalue NA
## baseline.chisq.scaled 446.56
## baseline.df.scaled 66.00
## baseline.pvalue.scaled 0.00
## baseline.chisq.scaling.factor 3.81
## cfi 0.98
## tli 0.97
## cfi.scaled 0.99
## tli.scaled 0.99
## cfi.robust NA
## tli.robust NA
## nnfi 0.97
## rfi 0.93
## nfi 0.96
## pnfi 0.62
## ifi 0.98
## rni 0.98
## nnfi.scaled 0.99
## rfi.scaled 0.84
## nfi.scaled 0.90
## pnfi.scaled 0.58
## ifi.scaled 0.99
## rni.scaled 0.99
## nnfi.robust NA
## rni.robust NA
## rmsea 0.06
## rmsea.ci.lower 0.03
## rmsea.ci.upper 0.08
## rmsea.ci.level 0.90
## rmsea.pvalue 0.33
## rmsea.close.h0 0.05
## rmsea.notclose.pvalue 0.04
## rmsea.notclose.h0 0.08
## rmsea.scaled 0.02
## rmsea.ci.lower.scaled 0.00
## rmsea.ci.upper.scaled 0.05
## rmsea.pvalue.scaled 0.92
## rmsea.notclose.pvalue.scaled 0.00
## rmsea.robust NA
## rmsea.ci.lower.robust NA
## rmsea.ci.upper.robust NA
## rmsea.pvalue.robust NA
## rmsea.notclose.pvalue.robust NA
## rmr 0.06
## rmr_nomean 0.07
## srmr 0.07
## srmr_bentler 0.06
## srmr_bentler_nomean 0.07
## crmr 0.07
## crmr_nomean 0.07
## srmr_mplus NA
## srmr_mplus_nomean NA
## cn_05 170.72
## cn_01 194.06
## gfi 0.97
## agfi 0.94
## pgfi 0.53
## mfi 0.94
## wrmr 0.94
# Explained variance
r_squared<-data.frame(r_squared=lavaan::inspect(model,"rsquare"))
r_squared
## r_squared
## i1i2 0.6063962
## i1i3 0.5592264
## i2i3 0.4278743
## i4i5 0.5230762
## i4i6 0.6047728
## i5i6 0.3926475
## i7i8 0.5656510
## i7i9 0.5186509
## i8i9 0.5715663
## i10i11 0.4101206
## i10i12 0.5753794
## i11i12 0.5960012
# Estimates
unstandardized_estimates<-lavaan::inspect(model,"est")
unstandardized_estimates
## $lambda
## trait1 trait2 trait3
## i1i2 1.174 -1.264 0.000
## i1i3 1.174 0.000 -1.224
## i4i5 -1.389 -1.240 0.000
## i4i6 -1.389 0.000 -0.923
## i7i8 1.036 -1.006 0.000
## i7i9 1.036 0.000 0.998
## i10i11 1.113 0.595 0.000
## i10i12 1.113 0.000 -1.231
## i2i3 0.000 1.264 -1.224
## i5i6 0.000 1.240 -0.923
## i8i9 0.000 1.006 0.998
## i11i12 0.000 -0.595 -1.231
##
## $theta
## i1i2 i1i3 i4i5 i4i6 i7i8 i7i9 i10i11 i10i12 i2i3 i5i6 i8i9 i11i12
## i1i2 2.432
## i1i3 1.000 2.078
## i4i5 0.000 0.000 2.344
## i4i6 0.000 0.000 1.000 1.958
## i7i8 0.000 0.000 0.000 0.000 2.016
## i7i9 0.000 0.000 0.000 0.000 1.000 2.081
## i10i11 0.000 0.000 0.000 0.000 0.000 0.000 1.795
## i10i12 0.000 0.000 0.000 0.000 0.000 0.000 1.000 1.864
## i2i3 -1.432 1.078 0.000 0.000 0.000 0.000 0.000 0.000 2.510
## i5i6 0.000 0.000 -1.344 0.958 0.000 0.000 0.000 0.000 0.000 2.302
## i8i9 0.000 0.000 0.000 0.000 -1.016 1.081 0.000 0.000 0.000 0.000 2.097
## i11i12 0.000 0.000 0.000 0.000 0.000 0.000 -0.795 0.864 0.000 0.000 0.000 1.659
##
## $psi
## trait1 trait2 trait3
## trait1 1.000
## trait2 -0.260 1.000
## trait3 0.083 0.394 1.000
##
## $nu
## intrcp
## i1i2 0
## i1i3 0
## i4i5 0
## i4i6 0
## i7i8 0
## i7i9 0
## i10i11 0
## i10i12 0
## i2i3 0
## i5i6 0
## i8i9 0
## i11i12 0
##
## $alpha
## intrcp
## trait1 0
## trait2 0
## trait3 0
##
## $tau
## thrshl
## i1i2|t1 0.470
## i1i3|t1 -1.170
## i4i5|t1 0.648
## i4i6|t1 1.135
## i7i8|t1 -0.859
## i7i9|t1 -1.181
## i10i11|t1 0.533
## i10i12|t1 1.514
## i2i3|t1 -1.917
## i5i6|t1 0.646
## i8i9|t1 -0.475
## i11i12|t1 0.892
##
## $delta
## scales
## i1i2 0.402
## i1i3 0.461
## i4i5 0.451
## i4i6 0.449
## i7i8 0.464
## i7i9 0.481
## i10i11 0.573
## i10i12 0.477
## i2i3 0.477
## i5i6 0.514
## i8i9 0.452
## i11i12 0.493
standardized_estimates<-lavaan::inspect(model,"std")
standardized_estimates
## $lambda
## trait1 trait2 trait3
## i1i2 0.472 -0.508 0.000
## i1i3 0.541 0.000 -0.564
## i4i5 -0.626 -0.559 0.000
## i4i6 -0.624 0.000 -0.415
## i7i8 0.481 -0.467 0.000
## i7i9 0.498 0.000 0.480
## i10i11 0.638 0.341 0.000
## i10i12 0.531 0.000 -0.588
## i2i3 0.000 0.603 -0.584
## i5i6 0.000 0.637 -0.474
## i8i9 0.000 0.455 0.451
## i11i12 0.000 -0.294 -0.608
##
## $theta
## i1i2 i1i3 i4i5 i4i6 i7i8 i7i9 i10i11 i10i12 i2i3 i5i6 i8i9 i11i12
## i1i2 0.394
## i1i3 0.445 0.441
## i4i5 0.000 0.000 0.477
## i4i6 0.000 0.000 0.467 0.395
## i7i8 0.000 0.000 0.000 0.000 0.434
## i7i9 0.000 0.000 0.000 0.000 0.488 0.481
## i10i11 0.000 0.000 0.000 0.000 0.000 0.000 0.590
## i10i12 0.000 0.000 0.000 0.000 0.000 0.000 0.547 0.425
## i2i3 -0.580 0.472 0.000 0.000 0.000 0.000 0.000 0.000 0.572
## i5i6 0.000 0.000 -0.579 0.451 0.000 0.000 0.000 0.000 0.000 0.607
## i8i9 0.000 0.000 0.000 0.000 -0.494 0.517 0.000 0.000 0.000 0.000 0.428
## i11i12 0.000 0.000 0.000 0.000 0.000 0.000 -0.461 0.491 0.000 0.000 0.000 0.404
##
## $psi
## trait1 trait2 trait3
## trait1 1.000
## trait2 -0.260 1.000
## trait3 0.083 0.394 1.000
##
## $nu
## intrcp
## i1i2 0
## i1i3 0
## i4i5 0
## i4i6 0
## i7i8 0
## i7i9 0
## i10i11 0
## i10i12 0
## i2i3 0
## i5i6 0
## i8i9 0
## i11i12 0
##
## $alpha
## intrcp
## trait1 0
## trait2 0
## trait3 0
##
## $tau
## thrshl
## i1i2|t1 0.189
## i1i3|t1 -0.539
## i4i5|t1 0.292
## i4i6|t1 0.510
## i7i8|t1 -0.399
## i7i9|t1 -0.568
## i10i11|t1 0.305
## i10i12|t1 0.722
## i2i3|t1 -0.915
## i5i6|t1 0.332
## i8i9|t1 -0.215
## i11i12|t1 0.440
##
## $delta
## scales
## i1i2 1
## i1i3 1
## i4i5 1
## i4i6 1
## i7i8 1
## i7i9 1
## i10i11 1
## i10i12 1
## i2i3 1
## i5i6 1
## i8i9 1
## i11i12 1
lavaan::parameterEstimates(model,se=TRUE,
zstat=TRUE,
pvalue=TRUE,
ci=TRUE,
level=0.95,
boot.ci.type="perc",
standardized=TRUE,
fmi=FALSE,
remove.system.eq=TRUE,
remove.eq=FALSE,
remove.ineq=FALSE,
remove.def=FALSE,
rsquare=TRUE,
add.attributes=TRUE)
##
## Latent Variables:
## Estimate Std.Err z-value P(>|z|) ci.lower ci.upper Std.lv Std.all
## trait1 =~
## i1i2 (L1) 1.174 0.513 2.289 0.022 0.169 2.179 1.174 0.472
## i1i3 (L1) 1.174 0.513 2.289 0.022 0.169 2.179 1.174 0.541
## i4i5 (L4) -1.389 0.607 -2.289 0.022 -2.578 -0.199 -1.389 -0.626
## i4i6 (L4) -1.389 0.607 -2.289 0.022 -2.578 -0.199 -1.389 -0.624
## i7i8 (L7) 1.036 0.375 2.765 0.006 0.302 1.770 1.036 0.481
## i7i9 (L7) 1.036 0.375 2.765 0.006 0.302 1.770 1.036 0.498
## i10i11 (L10) 1.113 0.429 2.591 0.010 0.271 1.954 1.113 0.638
## i10i12 (L10) 1.113 0.429 2.591 0.010 0.271 1.954 1.113 0.531
## trait2 =~
## i1i2 (L2n) -1.264 0.504 -2.507 0.012 -2.252 -0.276 -1.264 -0.508
## i2i3 (L2) 1.264 0.504 2.507 0.012 0.276 2.252 1.264 0.603
## i4i5 (L5n) -1.240 0.517 -2.398 0.016 -2.253 -0.226 -1.240 -0.559
## i5i6 (L5) 1.240 0.517 2.398 0.016 0.226 2.253 1.240 0.637
## i7i8 (L8n) -1.006 0.371 -2.713 0.007 -1.732 -0.279 -1.006 -0.467
## i8i9 (L8) 1.006 0.371 2.713 0.007 0.279 1.732 1.006 0.455
## i10i11 (L11n) 0.595 0.273 2.180 0.029 0.060 1.130 0.595 0.341
## i11i12 (L11) -0.595 0.273 -2.180 0.029 -1.130 -0.060 -0.595 -0.294
## trait3 =~
## i1i3 (L3n) -1.224 0.461 -2.656 0.008 -2.127 -0.321 -1.224 -0.564
## i2i3 (L3n) -1.224 0.461 -2.656 0.008 -2.127 -0.321 -1.224 -0.584
## i4i6 (L6n) -0.923 0.401 -2.302 0.021 -1.710 -0.137 -0.923 -0.415
## i5i6 (L6n) -0.923 0.401 -2.302 0.021 -1.710 -0.137 -0.923 -0.474
## i7i9 (L9n) 0.998 0.339 2.944 0.003 0.334 1.663 0.998 0.480
## i8i9 (L9n) 0.998 0.339 2.944 0.003 0.334 1.663 0.998 0.451
## i10i12 (L12n) -1.231 0.423 -2.909 0.004 -2.061 -0.402 -1.231 -0.588
## i11i12 (L12n) -1.231 0.423 -2.909 0.004 -2.061 -0.402 -1.231 -0.608
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) ci.lower ci.upper Std.lv Std.all
## trait1 ~~
## trait2 -0.260 0.147 -1.766 0.077 -0.548 0.029 -0.260 -0.260
## trait3 0.083 0.163 0.513 0.608 -0.236 0.402 0.083 0.083
## trait2 ~~
## trait3 0.394 0.139 2.842 0.004 0.122 0.665 0.394 0.394
## .i1i2 ~~
## .i1i3 (P1) 1.000 1.000 1.000 1.000 0.445
## .i2i3 (P2n) -1.432 1.272 -1.126 0.260 -3.925 1.060 -1.432 -0.580
## .i1i3 ~~
## .i2i3 (P3) 1.078 1.114 0.968 0.333 -1.105 3.261 1.078 0.472
## .i4i5 ~~
## .i4i6 (P4) 1.000 1.000 1.000 1.000 0.467
## .i5i6 (P5n) -1.344 1.134 -1.186 0.236 -3.567 0.878 -1.344 -0.579
## .i4i6 ~~
## .i5i6 (P6) 0.958 0.883 1.084 0.278 -0.774 2.689 0.958 0.451
## .i7i8 ~~
## .i7i9 (P7) 1.000 NA NA NA 1.000 0.488
## .i8i9 (P8n) -1.016 0.801 -1.269 0.204 -2.586 0.553 -1.016 -0.494
## .i7i9 ~~
## .i8i9 (P9) 1.081 0.879 1.230 0.219 -0.642 2.803 1.081 0.517
## .i10i11 ~~
## .i10i12 (P10) 1.000 NA NA NA 1.000 0.547
## .i11i12 (P11n) -0.795 0.677 -1.174 0.240 -2.123 0.532 -0.795 -0.461
## .i10i12 ~~
## .i11i12 (P12) 0.864 0.726 1.191 0.234 -0.558 2.286 0.864 0.491
##
## Intercepts:
## Estimate Std.Err z-value P(>|z|) ci.lower ci.upper Std.lv Std.all
## .i1i2 0.000 0.000 0.000 0.000 0.000
## .i1i3 0.000 0.000 0.000 0.000 0.000
## .i4i5 0.000 0.000 0.000 0.000 0.000
## .i4i6 0.000 0.000 0.000 0.000 0.000
## .i7i8 0.000 0.000 0.000 0.000 0.000
## .i7i9 0.000 0.000 0.000 0.000 0.000
## .i10i11 0.000 0.000 0.000 0.000 0.000
## .i10i12 0.000 0.000 0.000 0.000 0.000
## .i2i3 0.000 0.000 0.000 0.000 0.000
## .i5i6 0.000 0.000 0.000 0.000 0.000
## .i8i9 0.000 0.000 0.000 0.000 0.000
## .i11i12 0.000 0.000 0.000 0.000 0.000
## trait1 0.000 0.000 0.000 0.000 0.000
## trait2 0.000 0.000 0.000 0.000 0.000
## trait3 0.000 0.000 0.000 0.000 0.000
##
## Thresholds:
## Estimate Std.Err z-value P(>|z|) ci.lower ci.upper Std.lv Std.all
## i1i2|t1 0.470 0.259 1.815 0.069 -0.037 0.978 0.470 0.189
## i1i3|t1 -1.170 0.413 -2.835 0.005 -1.979 -0.361 -1.170 -0.539
## i4i5|t1 0.648 0.282 2.297 0.022 0.095 1.201 0.648 0.292
## i4i6|t1 1.135 0.413 2.748 0.006 0.326 1.945 1.135 0.510
## i7i8|t1 -0.859 0.273 -3.147 0.002 -1.395 -0.324 -0.859 -0.399
## i7i9|t1 -1.181 0.331 -3.565 0.000 -1.830 -0.532 -1.181 -0.568
## i10i11|t1 0.533 0.211 2.525 0.012 0.119 0.947 0.533 0.305
## i10i12|t1 1.514 0.439 3.447 0.001 0.653 2.374 1.514 0.722
## i2i3|t1 -1.917 0.711 -2.696 0.007 -3.311 -0.524 -1.917 -0.915
## i5i6|t1 0.646 0.284 2.273 0.023 0.089 1.203 0.646 0.332
## i8i9|t1 -0.475 0.244 -1.944 0.052 -0.954 0.004 -0.475 -0.215
## i11i12|t1 0.892 0.313 2.846 0.004 0.278 1.505 0.892 0.440
##
## Variances:
## Estimate Std.Err z-value P(>|z|) ci.lower ci.upper Std.lv Std.all
## trat1 1.000 1.000 1.000 1.000 1.000
## trat2 1.000 1.000 1.000 1.000 1.000
## trat3 1.000 1.000 1.000 1.000 1.000
## .i1i2 (P1P2) 2.432 1.272 1.912 0.056 -0.060 4.925 2.432 0.394
## .i1i3 (P1P3) 2.078 1.114 1.866 0.062 -0.105 4.261 2.078 0.441
## .i2i3 (P2P3) 2.510 2.163 1.161 0.246 -1.729 6.750 2.510 0.572
## .i4i5 (P4P5) 2.344 1.134 2.067 0.039 0.122 4.567 2.344 0.477
## .i4i6 (P4P6) 1.958 0.883 2.216 0.027 0.226 3.689 1.958 0.395
## .i5i6 (P5P6) 2.302 1.828 1.260 0.208 -1.280 5.884 2.302 0.607
## .i7i8 (P7P8) 2.016 0.801 2.518 0.012 0.447 3.586 2.016 0.434
## .i7i9 (P7P9) 2.081 0.879 2.368 0.018 0.358 3.803 2.081 0.481
## .i8i9 (P8P9) 2.097 1.430 1.466 0.143 -0.706 4.900 2.097 0.428
## .i1011 (P10P11) 1.795 0.677 2.650 0.008 0.468 3.123 1.795 0.590
## .i1012 (P10P12) 1.864 0.726 2.569 0.010 0.442 3.286 1.864 0.425
## .i1112 (P11P) 1.659 1.176 1.411 0.158 -0.646 3.964 1.659 0.404
##
## Scales y*:
## Estimate Std.Err z-value P(>|z|) ci.lower ci.upper Std.lv Std.all
## i1i2 0.402 0.402 0.402 0.402 1.000
## i1i3 0.461 0.461 0.461 0.461 1.000
## i4i5 0.451 0.451 0.451 0.451 1.000
## i4i6 0.449 0.449 0.449 0.449 1.000
## i7i8 0.464 0.464 0.464 0.464 1.000
## i7i9 0.481 0.481 0.481 0.481 1.000
## i10i11 0.573 0.573 0.573 0.573 1.000
## i10i12 0.477 0.477 0.477 0.477 1.000
## i2i3 0.477 0.477 0.477 0.477 1.000
## i5i6 0.514 0.514 0.514 0.514 1.000
## i8i9 0.452 0.452 0.452 0.452 1.000
## i11i12 0.493 0.493 0.493 0.493 1.000
##
## R-Square:
## Estimate
## i1i2 0.606
## i1i3 0.559
## i2i3 0.428
## i4i5 0.523
## i4i6 0.605
## i5i6 0.393
## i7i8 0.566
## i7i9 0.519
## i8i9 0.572
## i10i11 0.410
## i10i12 0.575
## i11i12 0.596
##
## Constraints:
## |Slack|
## L2 - (-L2n) 0.000
## L5 - (-L5n) 0.000
## L8 - (-L8n) 0.000
## L11 - (-L11n) 0.000
## P1P2 - (P1-P2n) 0.000
## P1P3 - (P1+P3) 0.000
## P2P3 - (-P2n+P3) 0.000
## P4P5 - (P4-P5n) 0.000
## P4P6 - (P4+P6) 0.000
## P5P6 - (-P5n+P6) 0.000
## P7P8 - (P7-P8n) 0.000
## P7P9 - (P7+P9) 0.000
## P8P9 - (-P8n+P9) 0.000
## P10P11 - (P10-P11n) 0.000
## P10P12 - (P10+P12) 0.000
## P11P12 - (-P11n+P12) 0.000
## P1 - (1) 0.000
## P4 - (1) 0.000
## P7 - (1) 0.000
## P10 - (1) 0.000
# Modification indices
lavaan::modificationIndices(model,
standardized=TRUE,
cov.std=TRUE,
information="expected",
power=TRUE,
delta=0.1,
alpha=0.05,
high.power=0.75,
sort.=TRUE,
minimum.value=0,
free.remove=FALSE,
na.remove=TRUE,
op=NULL)
## Warning: lavaan->modificationIndices():
## the modindices() function ignores equality constraints; use lavTestScore() to assess the impact of releasing one or multiple constraints.
## lhs op rhs mi epc sepc.all delta ncp power decision
## 122 trait1 =~ i2i3 13.197 0.644 0.307 0.1 0.318 0.087 **(m)**
## 180 i10i12 ~~ i5i6 11.332 -1.077 -0.520 0.1 0.098 0.061 **(m)**
## 153 i4i5 ~~ i7i9 9.980 1.287 0.583 0.1 0.060 0.057 **(m)**
## 176 i10i11 ~~ i2i3 8.760 0.835 0.393 0.1 0.126 0.065 **(m)**
## 123 trait1 =~ i5i6 7.414 -0.433 -0.222 0.1 0.396 0.096 **(m)**
## 179 i10i12 ~~ i2i3 5.250 0.838 0.387 0.1 0.075 0.059 **(m)**
## 173 i7i9 ~~ i2i3 5.138 0.818 0.358 0.1 0.077 0.059 **(m)**
## 125 trait1 =~ i11i12 4.999 -0.340 -0.168 0.1 0.434 0.101 **(m)**
## 177 i10i11 ~~ i5i6 4.190 -0.543 -0.267 0.1 0.142 0.066 **(m)**
## 166 i7i8 ~~ i10i11 3.730 0.623 0.327 0.1 0.096 0.061 (i)
## 148 i1i3 ~~ i10i12 3.665 -0.777 -0.395 0.1 0.061 0.057 (i)
## 184 i2i3 ~~ i11i12 3.331 -0.663 -0.325 0.1 0.076 0.059 (i)
## 128 trait2 =~ i7i9 2.733 0.391 0.188 0.1 0.179 0.071 (i)
## 130 trait3 =~ i1i2 2.463 0.305 0.123 0.1 0.265 0.081 (i)
## 175 i7i9 ~~ i11i12 2.422 -0.581 -0.313 0.1 0.072 0.058 (i)
## 139 i1i2 ~~ i10i12 2.366 -0.670 -0.314 0.1 0.053 0.056 (i)
## 124 trait1 =~ i8i9 2.266 -0.275 -0.124 0.1 0.299 0.085 (i)
## 140 i1i2 ~~ i5i6 2.229 -0.601 -0.254 0.1 0.062 0.057 (i)
## 155 i4i5 ~~ i10i12 2.213 0.565 0.270 0.1 0.069 0.058 (i)
## 145 i1i3 ~~ i7i8 2.210 0.601 0.294 0.1 0.061 0.057 (i)
## 149 i1i3 ~~ i5i6 2.191 0.493 0.225 0.1 0.090 0.060 (i)
## 186 i5i6 ~~ i11i12 2.154 0.475 0.243 0.1 0.096 0.061 (i)
## 135 i1i2 ~~ i4i6 2.130 -0.671 -0.308 0.1 0.047 0.055 (i)
## 170 i7i8 ~~ i11i12 1.807 -0.495 -0.271 0.1 0.074 0.058 (i)
## 138 i1i2 ~~ i10i11 1.734 -0.473 -0.226 0.1 0.078 0.059 (i)
## 154 i4i5 ~~ i10i11 1.730 -0.445 -0.217 0.1 0.087 0.060 (i)
## 156 i4i5 ~~ i2i3 1.460 0.466 0.192 0.1 0.067 0.058 (i)
## 150 i1i3 ~~ i8i9 1.409 -0.500 -0.239 0.1 0.056 0.056 (i)
## 41 i10i12 ~~ i10i12 1.258 0.493 0.425 0.1 0.052 0.056 (i)
## 38 i7i9 ~~ i7i9 1.220 0.529 0.481 0.1 0.044 0.055 (i)
## 134 i1i2 ~~ i4i5 1.161 -0.492 -0.206 0.1 0.048 0.056 (i)
## 174 i7i9 ~~ i5i6 1.032 0.353 0.161 0.1 0.083 0.060 (i)
## 171 i7i9 ~~ i10i11 1.024 0.321 0.166 0.1 0.099 0.061 (i)
## 151 i1i3 ~~ i11i12 1.018 0.385 0.207 0.1 0.069 0.058 (i)
## 132 trait3 =~ i7i8 0.869 -0.194 -0.090 0.1 0.231 0.077 (i)
## 182 i2i3 ~~ i5i6 0.822 0.330 0.137 0.1 0.075 0.059 (i)
## 144 i1i3 ~~ i4i6 0.727 0.342 0.169 0.1 0.062 0.057 (i)
## 143 i1i3 ~~ i4i5 0.719 -0.326 -0.148 0.1 0.068 0.058 (i)
## 40 i10i11 ~~ i10i11 0.684 -0.342 -0.590 0.1 0.058 0.057 (i)
## 127 trait2 =~ i4i6 0.662 0.150 0.067 0.1 0.294 0.084 (i)
## 5 trait1 =~ i7i8 0.651 0.122 0.057 0.1 0.435 0.101 (i)
## 34 i4i5 ~~ i4i5 0.637 0.509 0.477 0.1 0.025 0.053 (i)
## 50 i7i8 ~~ i8i9 0.587 -0.258 -0.126 0.1 0.088 0.060 (i)
## 24 trait3 =~ i11i12 0.582 -0.156 -0.077 0.1 0.238 0.078 (i)
## 39 i8i9 ~~ i8i9 0.578 -0.423 -0.428 0.1 0.032 0.054 (i)
## 131 trait3 =~ i4i5 0.560 0.133 0.060 0.1 0.317 0.087 (i)
## 53 i10i11 ~~ i11i12 0.525 -0.181 -0.105 0.1 0.160 0.069 (i)
## 142 i1i2 ~~ i11i12 0.503 -0.299 -0.149 0.1 0.056 0.056 (i)
## 172 i7i9 ~~ i10i12 0.465 0.257 0.130 0.1 0.071 0.058 (i)
## 6 trait1 =~ i7i9 0.421 -0.079 -0.038 0.1 0.673 0.130 (i)
## 187 i8i9 ~~ i11i12 0.408 -0.262 -0.140 0.1 0.059 0.057 (i)
## 157 i4i5 ~~ i8i9 0.406 0.262 0.118 0.1 0.059 0.057 (i)
## 36 i5i6 ~~ i5i6 0.380 -0.346 -0.607 0.1 0.032 0.054 (i)
## 168 i7i8 ~~ i2i3 0.363 0.241 0.107 0.1 0.062 0.057 (i)
## 162 i4i6 ~~ i10i12 0.346 -0.230 -0.120 0.1 0.066 0.058 (i)
## 16 trait2 =~ i11i12 0.323 0.078 0.038 0.1 0.537 0.113 (i)
## 161 i4i6 ~~ i10i11 0.314 0.188 0.100 0.1 0.089 0.060 (i)
## 32 i1i3 ~~ i1i3 0.272 -0.272 -0.441 0.1 0.037 0.054 (i)
## 14 trait2 =~ i8i9 0.262 0.095 0.043 0.1 0.289 0.084 (i)
## 54 i10i12 ~~ i11i12 0.247 -0.149 -0.085 0.1 0.111 0.063 (i)
## 17 trait3 =~ i1i3 0.240 -0.063 -0.029 0.1 0.597 0.121 (i)
## 164 i4i6 ~~ i8i9 0.225 -0.194 -0.096 0.1 0.060 0.057 (i)
## 11 trait2 =~ i4i5 0.224 0.055 0.025 0.1 0.743 0.139 (i)
## 167 i7i8 ~~ i10i12 0.217 0.178 0.092 0.1 0.068 0.058 (i)
## 129 trait2 =~ i10i12 0.214 -0.089 -0.042 0.1 0.273 0.082 (i)
## 23 trait3 =~ i10i12 0.209 0.056 0.027 0.1 0.664 0.129 (i)
## 37 i7i8 ~~ i7i8 0.207 -0.228 -0.434 0.1 0.040 0.055 (i)
## 12 trait2 =~ i5i6 0.205 0.050 0.026 0.1 0.812 0.147 (i)
## 49 i7i8 ~~ i7i9 0.197 -0.141 -0.069 0.1 0.100 0.061 (i)
## 48 i4i6 ~~ i5i6 0.195 0.135 0.064 0.1 0.107 0.062 (i)
## 137 i1i2 ~~ i7i9 0.190 -0.188 -0.084 0.1 0.054 0.056 (i)
## 13 trait2 =~ i7i8 0.190 0.069 0.032 0.1 0.399 0.097 (i)
## 33 i2i3 ~~ i2i3 0.171 0.199 0.572 0.1 0.043 0.055 (i)
## 42 i11i12 ~~ i11i12 0.161 -0.179 -0.404 0.1 0.050 0.056 (i)
## 18 trait3 =~ i2i3 0.154 0.041 0.019 0.1 0.931 0.162 (i)
## 185 i5i6 ~~ i8i9 0.148 0.141 0.064 0.1 0.074 0.059 (i)
## 44 i1i2 ~~ i2i3 0.122 0.129 0.052 0.1 0.074 0.058 (i)
## 43 i1i2 ~~ i1i3 0.122 0.133 0.059 0.1 0.069 0.058 (i)
## 15 trait2 =~ i10i11 0.119 0.029 0.016 0.1 1.454 0.226 (i)
## 159 i4i6 ~~ i7i8 0.117 0.140 0.071 0.1 0.060 0.057 (i)
## 46 i4i5 ~~ i4i6 0.101 -0.111 -0.052 0.1 0.082 0.059 (i)
## 163 i4i6 ~~ i2i3 0.095 0.117 0.053 0.1 0.070 0.058 (i)
## 22 trait3 =~ i8i9 0.094 0.056 0.025 0.1 0.297 0.085 (i)
## 51 i7i9 ~~ i8i9 0.093 -0.099 -0.048 0.1 0.095 0.061 (i)
## 8 trait1 =~ i10i12 0.091 -0.034 -0.016 0.1 0.770 0.142 (i)
## 158 i4i5 ~~ i11i12 0.091 0.110 0.056 0.1 0.075 0.059 (i)
## 126 trait2 =~ i1i3 0.086 -0.061 -0.028 0.1 0.231 0.077 (i)
## 147 i1i3 ~~ i10i11 0.084 0.090 0.047 0.1 0.104 0.062 (i)
## 7 trait1 =~ i10i11 0.084 0.032 0.018 0.1 0.839 0.150 (i)
## 9 trait2 =~ i1i2 0.059 0.049 0.020 0.1 0.244 0.078 (i)
## 169 i7i8 ~~ i5i6 0.054 0.083 0.039 0.1 0.078 0.059 (i)
## 1 trait1 =~ i1i2 0.052 0.040 0.016 0.1 0.325 0.088 (i)
## 165 i4i6 ~~ i11i12 0.048 0.084 0.046 0.1 0.068 0.058 (i)
## 141 i1i2 ~~ i8i9 0.047 -0.103 -0.045 0.1 0.045 0.055 (i)
## 21 trait3 =~ i7i9 0.043 -0.026 -0.012 0.1 0.645 0.126 (i)
## 178 i10i11 ~~ i8i9 0.037 -0.063 -0.033 0.1 0.091 0.061 (i)
## 146 i1i3 ~~ i7i9 0.034 0.072 0.035 0.1 0.066 0.058 (i)
## 183 i2i3 ~~ i8i9 0.034 -0.075 -0.033 0.1 0.060 0.057 (i)
## 35 i4i6 ~~ i4i6 0.033 -0.097 -0.395 0.1 0.035 0.054 (i)
## 133 trait3 =~ i10i11 0.032 0.029 0.016 0.1 0.396 0.096 (i)
## 19 trait3 =~ i4i6 0.025 -0.019 -0.009 0.1 0.660 0.128 (i)
## 2 trait1 =~ i1i3 0.024 -0.019 -0.009 0.1 0.699 0.133 (i)
## 52 i10i11 ~~ i10i12 0.020 -0.037 -0.020 0.1 0.150 0.067 (i)
## 10 trait2 =~ i2i3 0.016 0.014 0.006 0.1 0.885 0.156 (i)
## 20 trait3 =~ i5i6 0.014 0.011 0.006 0.1 1.166 0.191 (i)
## 160 i4i6 ~~ i7i9 0.010 0.042 0.021 0.1 0.056 0.056 (i)
## 152 i4i5 ~~ i7i8 0.006 -0.032 -0.015 0.1 0.058 0.057 (i)
## 181 i10i12 ~~ i8i9 0.006 -0.031 -0.015 0.1 0.061 0.057 (i)
## 31 i1i2 ~~ i1i2 0.003 0.039 0.394 0.1 0.023 0.053 (i)
## 47 i4i5 ~~ i5i6 0.002 0.014 0.006 0.1 0.107 0.062 (i)
## 45 i1i3 ~~ i2i3 0.002 0.015 0.006 0.1 0.097 0.061 (i)
## 4 trait1 =~ i4i6 0.001 0.006 0.002 0.1 0.409 0.098 (i)
## 3 trait1 =~ i4i5 0.001 -0.003 -0.001 0.1 0.722 0.136 (i)
## 136 i1i2 ~~ i7i8 0.000 0.007 0.003 0.1 0.043 0.055 (i)
## 65 i8i9 | t1 0.000 0.000 0.000 0.1 0.409 0.098 (i)
## 62 i10i12 | t1 0.000 0.000 0.000 0.1 0.456 0.104 (i)
## 63 i2i3 | t1 0.000 0.000 0.000 0.1 0.456 0.104 (i)
## 58 i4i6 | t1 0.000 0.000 0.000 0.1 0.404 0.097 (i)
## 56 i1i3 | t1 0.000 0.000 0.000 0.1 0.424 0.100 (i)
## 57 i4i5 | t1 0.000 0.000 0.000 0.1 0.407 0.098 (i)
## 61 i10i11 | t1 0.000 0.000 0.000 0.1 0.657 0.128 (i)
## 64 i5i6 | t1 0.000 0.000 0.000 0.1 0.528 0.112 (i)
## 60 i7i9 | t1 0.000 0.000 0.000 0.1 0.463 0.104 (i)
## 30 trait2 ~~ trait3 0.000 0.000 0.000 0.1 5.225 0.628 (i)
## 66 i11i12 | t1 0.000 0.000 0.000 0.1 0.487 0.107 (i)
## 29 trait1 ~~ trait3 0.000 0.000 0.000 0.1 6.167 0.700 (i)
## 28 trait1 ~~ trait2 0.000 0.000 0.000 0.1 5.631 0.660 (i)
## 55 i1i2 | t1 0.000 0.000 0.000 0.1 0.324 0.088 (i)
## 59 i7i8 | t1 0.000 0.000 0.000 0.1 0.431 0.101 (i)
Score data
score<-predict(fit_lavaan)
score<-data.frame(score)
score<-reshape(score, direction="wide", idvar="id", timevar="trait")
triplets_new<-make_TIRT_data(data=triplets[1:2,],blocks=blocks,direction="larger",format="pairwise",family="bernoulli",range=c(0,1))
score_new<-predict(fit_stan,newdata=triplets_new)
##
## SAMPLING FOR MODEL 'thurstonian_irt_model_newdata' NOW (CHAIN 1).
## Chain 1:
## Chain 1: Gradient evaluation took 2.6e-05 seconds
## Chain 1: 1000 transitions using 10 leapfrog steps per transition would take 0.26 seconds.
## Chain 1: Adjust your expectations accordingly!
## Chain 1:
## Chain 1:
## Chain 1: Iteration: 1 / 2000 [ 0%] (Warmup)
## Chain 1: Iteration: 200 / 2000 [ 10%] (Warmup)
## Chain 1: Iteration: 400 / 2000 [ 20%] (Warmup)
## Chain 1: Iteration: 600 / 2000 [ 30%] (Warmup)
## Chain 1: Iteration: 800 / 2000 [ 40%] (Warmup)
## Chain 1: Iteration: 1000 / 2000 [ 50%] (Warmup)
## Chain 1: Iteration: 1001 / 2000 [ 50%] (Sampling)
## Chain 1: Iteration: 1200 / 2000 [ 60%] (Sampling)
## Chain 1: Iteration: 1400 / 2000 [ 70%] (Sampling)
## Chain 1: Iteration: 1600 / 2000 [ 80%] (Sampling)
## Chain 1: Iteration: 1800 / 2000 [ 90%] (Sampling)
## Chain 1: Iteration: 2000 / 2000 [100%] (Sampling)
## Chain 1:
## Chain 1: Elapsed Time: 0.044 seconds (Warm-up)
## Chain 1: 0.047 seconds (Sampling)
## Chain 1: 0.091 seconds (Total)
## Chain 1:
##
## SAMPLING FOR MODEL 'thurstonian_irt_model_newdata' NOW (CHAIN 2).
## Chain 2:
## Chain 2: Gradient evaluation took 9e-06 seconds
## Chain 2: 1000 transitions using 10 leapfrog steps per transition would take 0.09 seconds.
## Chain 2: Adjust your expectations accordingly!
## Chain 2:
## Chain 2:
## Chain 2: Iteration: 1 / 2000 [ 0%] (Warmup)
## Chain 2: Iteration: 200 / 2000 [ 10%] (Warmup)
## Chain 2: Iteration: 400 / 2000 [ 20%] (Warmup)
## Chain 2: Iteration: 600 / 2000 [ 30%] (Warmup)
## Chain 2: Iteration: 800 / 2000 [ 40%] (Warmup)
## Chain 2: Iteration: 1000 / 2000 [ 50%] (Warmup)
## Chain 2: Iteration: 1001 / 2000 [ 50%] (Sampling)
## Chain 2: Iteration: 1200 / 2000 [ 60%] (Sampling)
## Chain 2: Iteration: 1400 / 2000 [ 70%] (Sampling)
## Chain 2: Iteration: 1600 / 2000 [ 80%] (Sampling)
## Chain 2: Iteration: 1800 / 2000 [ 90%] (Sampling)
## Chain 2: Iteration: 2000 / 2000 [100%] (Sampling)
## Chain 2:
## Chain 2: Elapsed Time: 0.045 seconds (Warm-up)
## Chain 2: 0.047 seconds (Sampling)
## Chain 2: 0.092 seconds (Total)
## Chain 2:
##
## SAMPLING FOR MODEL 'thurstonian_irt_model_newdata' NOW (CHAIN 3).
## Chain 3:
## Chain 3: Gradient evaluation took 1e-05 seconds
## Chain 3: 1000 transitions using 10 leapfrog steps per transition would take 0.1 seconds.
## Chain 3: Adjust your expectations accordingly!
## Chain 3:
## Chain 3:
## Chain 3: Iteration: 1 / 2000 [ 0%] (Warmup)
## Chain 3: Iteration: 200 / 2000 [ 10%] (Warmup)
## Chain 3: Iteration: 400 / 2000 [ 20%] (Warmup)
## Chain 3: Iteration: 600 / 2000 [ 30%] (Warmup)
## Chain 3: Iteration: 800 / 2000 [ 40%] (Warmup)
## Chain 3: Iteration: 1000 / 2000 [ 50%] (Warmup)
## Chain 3: Iteration: 1001 / 2000 [ 50%] (Sampling)
## Chain 3: Iteration: 1200 / 2000 [ 60%] (Sampling)
## Chain 3: Iteration: 1400 / 2000 [ 70%] (Sampling)
## Chain 3: Iteration: 1600 / 2000 [ 80%] (Sampling)
## Chain 3: Iteration: 1800 / 2000 [ 90%] (Sampling)
## Chain 3: Iteration: 2000 / 2000 [100%] (Sampling)
## Chain 3:
## Chain 3: Elapsed Time: 0.043 seconds (Warm-up)
## Chain 3: 0.045 seconds (Sampling)
## Chain 3: 0.088 seconds (Total)
## Chain 3:
##
## SAMPLING FOR MODEL 'thurstonian_irt_model_newdata' NOW (CHAIN 4).
## Chain 4:
## Chain 4: Gradient evaluation took 8e-06 seconds
## Chain 4: 1000 transitions using 10 leapfrog steps per transition would take 0.08 seconds.
## Chain 4: Adjust your expectations accordingly!
## Chain 4:
## Chain 4:
## Chain 4: Iteration: 1 / 2000 [ 0%] (Warmup)
## Chain 4: Iteration: 200 / 2000 [ 10%] (Warmup)
## Chain 4: Iteration: 400 / 2000 [ 20%] (Warmup)
## Chain 4: Iteration: 600 / 2000 [ 30%] (Warmup)
## Chain 4: Iteration: 800 / 2000 [ 40%] (Warmup)
## Chain 4: Iteration: 1000 / 2000 [ 50%] (Warmup)
## Chain 4: Iteration: 1001 / 2000 [ 50%] (Sampling)
## Chain 4: Iteration: 1200 / 2000 [ 60%] (Sampling)
## Chain 4: Iteration: 1400 / 2000 [ 70%] (Sampling)
## Chain 4: Iteration: 1600 / 2000 [ 80%] (Sampling)
## Chain 4: Iteration: 1800 / 2000 [ 90%] (Sampling)
## Chain 4: Iteration: 2000 / 2000 [100%] (Sampling)
## Chain 4:
## Chain 4: Elapsed Time: 0.044 seconds (Warm-up)
## Chain 4: 0.042 seconds (Sampling)
## Chain 4: 0.086 seconds (Total)
## Chain 4:
score_new<-data.frame(score_new)
score_new<-reshape(score_new[,c("id","trait","estimate")], direction="wide", idvar="id", timevar="trait")
Print Scores
head(score)
## id estimate.trait1 estimate.trait2 estimate.trait3
## 1 1 0.2995961 -1.20767032 0.1426395
## 4 2 -0.9154698 0.85793811 0.6401725
## 7 3 -0.6305020 1.34407005 0.8769478
## 10 4 -0.9522713 -0.40026605 0.0620571
## 13 5 0.9106010 -0.01306284 -0.1038967
## 16 6 0.5347432 -0.65726252 -1.4962309
score_new
## id estimate.t1 estimate.t2 estimate.t3
## 1 1 0.3219813 -1.3220216 0.3346673
## 4 2 -0.9726025 0.8704972 0.6968171