Note: if reproducing this code in R, you will first have to first install these packages using the install.packages function.
library(ltm)
library(mirt)
library(haven)
library(psych)
Note: if reproducing this code in R, you will also have to set your working directory to the folder on your machine that contains the .dta file, using the setwd function.
Items 1, 3, 9, 12, 13, 17, 19, 22, and 24 must be reverse-scored. These items correspond to columns 5:13 in the datafile. Because all items are measured on a scale of 1-4, you can reverse code the items by subracting each value from 4+1, then taking the absolute value.
PARQdat <- read_dta("LSWAY PARQ2.dta")
PARQdat <- PARQdat[,-1] #remove column 1, father ID
which(duplicated(PARQdat$child_id_new)) #ensure all child id values are unique (i.e. no duplicated records)
## integer(0)
PARQdat[5:13] <- lapply(PARQdat[5:13], function(x) abs(5-x))
Subset data to only items about mother. See an item-level summary below.
CHmPARQ <- PARQdat[,c(5:28)]
summary(CHmPARQ)
## parqcm_1_ch_ot parqcm_3_ch_ot parqcm_9_ch_ot parqcm_12_ch_ot
## Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000
## Median :2.000 Median :2.000 Median :1.000 Median :1.000
## Mean :1.615 Mean :1.615 Mean :1.437 Mean :1.504
## 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000
## Max. :4.000 Max. :3.000 Max. :4.000 Max. :4.000
## NA's :282 NA's :282 NA's :282 NA's :282
## parqcm_13_ch_ot parqcm_17_ch_ot parqcm_19_ch_ot parqcm_22_ch_ot
## Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000
## Median :1.000 Median :1.000 Median :2.000 Median :1.000
## Mean :1.437 Mean :1.526 Mean :1.689 Mean :1.459
## 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000
## Max. :4.000 Max. :4.000 Max. :4.000 Max. :4.000
## NA's :282 NA's :282 NA's :282 NA's :282
## parqcm_24_ch_ot parqcm_2_ch_ot parqcm_4_ch_ot parqcm_5_ch_ot parqcm_6_ch_ot
## Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.00 Min. :1.000
## 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.00 1st Qu.:1.000
## Median :1.000 Median :1.000 Median :1.000 Median :1.00 Median :1.000
## Mean :1.511 Mean :1.667 Mean :1.341 Mean :1.57 Mean :1.496
## 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.00 3rd Qu.:2.000
## Max. :4.000 Max. :4.000 Max. :3.000 Max. :4.00 Max. :3.000
## NA's :282 NA's :282 NA's :282 NA's :282 NA's :282
## parqcm_7_ch_ot parqcm_8_ch_ot parqcm_10_ch_ot parqcm_11_ch_ot
## Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000
## Median :2.000 Median :1.000 Median :1.000 Median :1.000
## Mean :1.852 Mean :1.296 Mean :1.319 Mean :1.496
## 3rd Qu.:2.000 3rd Qu.:1.000 3rd Qu.:1.000 3rd Qu.:2.000
## Max. :4.000 Max. :4.000 Max. :4.000 Max. :4.000
## NA's :282 NA's :282 NA's :282 NA's :282
## parqcm_14_ch_ot parqcm_15_ch_ot parqcm_16_ch_ot parqcm_18_ch_ot
## Min. :1.000 Min. :1.000 Min. :1.00 Min. :1.000
## 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.00 1st Qu.:1.000
## Median :1.000 Median :1.000 Median :2.00 Median :3.000
## Mean :1.304 Mean :1.607 Mean :1.97 Mean :2.296
## 3rd Qu.:1.000 3rd Qu.:2.000 3rd Qu.:3.00 3rd Qu.:3.000
## Max. :4.000 Max. :3.000 Max. :4.00 Max. :4.000
## NA's :282 NA's :282 NA's :282 NA's :282
## parqcm_20_ch_ot parqcm_21_ch_ot parqcm_23_ch_ot
## Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000
## Median :1.000 Median :1.000 Median :1.000
## Mean :1.252 Mean :1.281 Mean :1.644
## 3rd Qu.:1.000 3rd Qu.:1.000 3rd Qu.:2.000
## Max. :4.000 Max. :4.000 Max. :4.000
## NA's :282 NA's :282 NA's :282
Some individuals in the sample are younger than age 7 and therefore won’t have recorded responses to this inventory. Further, some individuals older than 7 must be removed because they have no recorded data (for example, because they did not respond to data collector when data collector reached out). If an individual has data, they have data for all items. There were no participants with intermittent missing data.
CHmPARQ <- subset(CHmPARQ, !is.na(CHmPARQ$parqcm_1_ch_ot))
I am using the mirt package in R to conduct an exploratory graded response model, appropriate for ordered polytomous data. For each model the output includes standardized factor loadings under oblique (oblimin) rotation. The estimation method for these models is the EM algorithm. The column in output labeled “h2” displays item communalities. Rotated SS loadings represent variance explained by each factor.
One Factor
CHm_mirt1 <- mirt(CHmPARQ, 1, itemtype="graded")
summary(CHm_mirt1)
## F1 h2
## parqcm_1_ch_ot 0.650 0.423
## parqcm_3_ch_ot 0.759 0.576
## parqcm_9_ch_ot 0.782 0.612
## parqcm_12_ch_ot 0.734 0.539
## parqcm_13_ch_ot 0.811 0.657
## parqcm_17_ch_ot 0.759 0.577
## parqcm_19_ch_ot 0.715 0.511
## parqcm_22_ch_ot 0.702 0.492
## parqcm_24_ch_ot 0.814 0.662
## parqcm_2_ch_ot 0.653 0.426
## parqcm_4_ch_ot 0.471 0.222
## parqcm_5_ch_ot 0.532 0.283
## parqcm_6_ch_ot 0.713 0.508
## parqcm_7_ch_ot 0.776 0.602
## parqcm_8_ch_ot 0.843 0.711
## parqcm_10_ch_ot 0.787 0.619
## parqcm_11_ch_ot 0.728 0.530
## parqcm_14_ch_ot 0.792 0.628
## parqcm_15_ch_ot 0.708 0.502
## parqcm_16_ch_ot 0.380 0.145
## parqcm_18_ch_ot 0.326 0.106
## parqcm_20_ch_ot 0.767 0.589
## parqcm_21_ch_ot 0.691 0.478
## parqcm_23_ch_ot 0.651 0.424
##
## SS loadings: 11.821
## Proportion Var: 0.493
##
## Factor correlations:
##
## F1
## F1 1
Two Factors
CHm_mirt2 <- mirt(CHmPARQ, 2, itemtype="graded")
summary(CHm_mirt2)
##
## Rotation: oblimin
##
## Rotated factor loadings:
##
## F1 F2 h2
## parqcm_1_ch_ot -0.0218 0.69023 0.495
## parqcm_3_ch_ot -0.1491 0.68015 0.606
## parqcm_9_ch_ot -0.0624 0.81046 0.721
## parqcm_12_ch_ot -0.0890 0.72048 0.604
## parqcm_13_ch_ot -0.0792 0.80279 0.727
## parqcm_17_ch_ot -0.0737 0.76451 0.657
## parqcm_19_ch_ot 0.1015 0.86810 0.659
## parqcm_22_ch_ot -0.0949 0.67793 0.545
## parqcm_24_ch_ot -0.0214 0.88508 0.806
## parqcm_2_ch_ot -0.5033 0.23074 0.445
## parqcm_4_ch_ot -0.9247 -0.37609 0.581
## parqcm_5_ch_ot -0.5533 0.05666 0.347
## parqcm_6_ch_ot -0.8037 0.00934 0.655
## parqcm_7_ch_ot -0.5339 0.34338 0.622
## parqcm_8_ch_ot -0.6806 0.24500 0.722
## parqcm_10_ch_ot -0.7609 0.11659 0.698
## parqcm_11_ch_ot -0.6773 0.14165 0.593
## parqcm_14_ch_ot -0.6580 0.22819 0.664
## parqcm_15_ch_ot -0.4885 0.31350 0.520
## parqcm_16_ch_ot -0.3809 0.06993 0.182
## parqcm_18_ch_ot -0.3852 0.00176 0.149
## parqcm_20_ch_ot -0.6073 0.24866 0.611
## parqcm_21_ch_ot -0.5630 0.20873 0.501
## parqcm_23_ch_ot -0.6123 0.13054 0.487
##
## Rotated SS loadings: 5.938 6.028
##
## Factor correlations:
##
## F1 F2
## F1 1.000 -0.597
## F2 -0.597 1.000
Three Factors
CHm_mirt3 <- mirt(CHmPARQ, 3, itemtype="graded")
summary(CHm_mirt3)
##
## Rotation: oblimin
##
## Rotated factor loadings:
##
## F1 F2 F3 h2
## parqcm_1_ch_ot 0.00150 0.7288 -0.045462 0.509
## parqcm_3_ch_ot -0.08334 0.7141 0.019118 0.589
## parqcm_9_ch_ot -0.01149 0.8134 0.032850 0.691
## parqcm_12_ch_ot -0.04158 0.7283 0.053979 0.595
## parqcm_13_ch_ot -0.00518 0.8109 0.063484 0.702
## parqcm_17_ch_ot -0.08576 0.7471 0.000347 0.631
## parqcm_19_ch_ot 0.13443 0.8694 0.003510 0.656
## parqcm_22_ch_ot -0.05011 0.7168 0.005893 0.556
## parqcm_24_ch_ot 0.00663 0.9194 -0.010387 0.832
## parqcm_2_ch_ot -0.48271 0.3007 -0.061764 0.444
## parqcm_4_ch_ot -0.96165 -0.2855 -0.041376 0.711
## parqcm_5_ch_ot -0.54030 0.1640 -0.117325 0.370
## parqcm_6_ch_ot -0.62927 0.0612 0.323932 0.685
## parqcm_7_ch_ot -0.36224 0.3975 0.238143 0.614
## parqcm_8_ch_ot -0.62326 0.3688 -0.011491 0.752
## parqcm_10_ch_ot -0.60042 0.1816 0.269299 0.713
## parqcm_11_ch_ot -0.52764 0.2044 0.194006 0.560
## parqcm_14_ch_ot -0.59521 0.2971 0.090765 0.684
## parqcm_15_ch_ot -0.35125 0.3549 0.208277 0.518
## parqcm_16_ch_ot -0.09052 0.0794 0.599240 0.448
## parqcm_18_ch_ot 0.03689 -0.0319 1.020877 0.999
## parqcm_20_ch_ot -0.49332 0.3297 0.097387 0.580
## parqcm_21_ch_ot -0.50103 0.3669 -0.139532 0.514
## parqcm_23_ch_ot -0.50361 0.2693 -0.113022 0.421
##
## Rotated SS loadings: 4.276 6.672 1.796
##
## Factor correlations:
##
## F1 F2 F3
## F1 1.000 -0.511 -0.312
## F2 -0.511 1.000 0.352
## F3 -0.312 0.352 1.000
anova(CHm_mirt1, CHm_mirt2)
##
## Model 1: mirt(data = CHmPARQ, model = 1, itemtype = "graded")
## Model 2: mirt(data = CHmPARQ, model = 2, itemtype = "graded")
## AIC AICc SABIC HQ BIC logLik X2 df p
## 1 5139.978 5547.407 5116.236 5248.596 5407.264 -2477.989 NaN NaN NaN
## 2 5061.926 6466.136 5032.247 5197.697 5396.032 -2415.963 124.053 23 0
anova(CHm_mirt2, CHm_mirt3)
##
## Model 1: mirt(data = CHmPARQ, model = 2, itemtype = "graded")
## Model 2: mirt(data = CHmPARQ, model = 3, itemtype = "graded")
## AIC AICc SABIC HQ BIC logLik X2 df p
## 1 5061.926 6466.136 5032.247 5197.697 5396.032 -2415.963 NaN NaN NaN
## 2 5048.665 -7555.335 5013.309 5210.410 5446.687 -2387.332 57.261 22 0
Note: ‘SABIC’ = Sample-size adjusted BIC; HQ=Hannan-Quinn Criterion
The 2-factor model by several measures seems favorable to the 1-factor model, and aligns with the results of the analyses conducted by Dr. Shaobing Su using the parent responses on the PARQ.
The 3-factor model doesn’t fit quite as well as the 2-factor model, based on the fit statistics and the relatively low SS loading of the third factor in the 3-factor model (which represents variance that can be attributed to that factor, briefly.)
Using a cut-off value of .4 for factor loadings is often recommended, and in this case results in the simplest structure (i.e. avoiding multiple cross-loadings for items that have a high loading on one of the factors). Using this cut-off, there are two items that don’t load onto either factor: items 16 and 18. These two items also both have relatively low communalities (h2), suggesting that much of the variance of these items is explained by something other than the factor structure. Items 16 and 18 are “My mother makes me feel unloved if I misbehave” and “My mother frightens or threatens me when I do something wrong”, respectively.
We also studied the item-level characteristics of the PARQ_Cm. See below for a table of item characteristics based on the exploratory 2-factor solution with oblimin rotation: In multidimensional IRT (MIRT) models, every item will have an estimated discrimination parameter \(\alpha\) for each factor \(\theta\). This parameter is analogous to a slope in that the larger the value of \(\alpha\) the more related to and informative to that dimension the item is, generally speaking. You can see that every item has an estimated \(\alpha\) >1 for at least one of the two factors, except for items 16 and 18. This may further suggest that items 16 and 18 are good candidates for removal from the scale.
coef(CHm_mirt2, simplify=TRUE, rotate='oblimin')
##
## Rotation: oblimin
## $items
## a1 a2 d1 d2 d3
## parqcm_1_ch_ot -0.052 1.653 0.168 -3.829 -4.901
## parqcm_3_ch_ot -0.404 1.844 0.207 -3.949 NA
## parqcm_9_ch_ot -0.201 2.612 -1.110 -5.322 -6.788
## parqcm_12_ch_ot -0.241 1.948 -0.985 -3.558 -5.150
## parqcm_13_ch_ot -0.258 2.614 -1.145 -4.986 -8.014
## parqcm_17_ch_ot -0.214 2.222 -0.425 -4.496 -7.201
## parqcm_19_ch_ot 0.296 2.529 0.559 -3.987 -6.339
## parqcm_22_ch_ot -0.239 1.711 -0.944 -3.850 -4.503
## parqcm_24_ch_ot -0.083 3.424 -1.213 -4.857 -7.165
## parqcm_2_ch_ot -1.150 0.527 -0.697 -2.158 -3.217
## parqcm_4_ch_ot -2.432 -0.989 -1.633 -4.029 NA
## parqcm_5_ch_ot -1.165 0.119 -0.716 -1.962 -4.468
## parqcm_6_ch_ot -2.329 0.027 -1.026 -3.169 NA
## parqcm_7_ch_ot -1.478 0.950 0.277 -1.990 -4.656
## parqcm_8_ch_ot -2.198 0.791 -2.853 -4.656 -5.788
## parqcm_10_ch_ot -2.358 0.361 -2.177 -4.870 -6.679
## parqcm_11_ch_ot -1.808 0.378 -1.338 -3.232 -4.250
## parqcm_14_ch_ot -1.933 0.670 -2.272 -4.109 -6.429
## parqcm_15_ch_ot -1.200 0.770 -0.440 -2.416 NA
## parqcm_16_ch_ot -0.717 0.132 0.552 -0.776 -4.453
## parqcm_18_ch_ot -0.711 0.003 1.031 0.069 -2.970
## parqcm_20_ch_ot -1.657 0.679 -2.839 -3.848 -5.051
## parqcm_21_ch_ot -1.356 0.503 -2.147 -3.514 -5.021
## parqcm_23_ch_ot -1.455 0.310 -0.288 -2.375 -5.324
##
## $means
## F1 F2
## 0 0
##
## $cov
## F1 F2
## F1 1.000 -0.597
## F2 -0.597 1.000
We can also study the information contour plots, which give an idea of how much much information the item is gleaning across both dimensions (i.e. how well it will help us to determine a person’s location on these two traits or dimensions). Lines that are closer together indicate steeper slopes on the side of a unimensional symmetrical curve. The numbers indicate the height of the information curve, with the peak being the maximum point of information in on the multidimensional plane.
Trace plots are similar to item characteristic curve (ICC) plots. These are multidimensional item category response curves. They each show a plane for each response category in relation to the latent scores on both underlying traits/dimensions. The height of the curve is the probability of selecting into that category. For example, you can see in the plot for Item 1 that individuals high on dimension 2 but low on dimension 1 are likely to select one response category, whereas individuals high on dimension 1 (or those with high \(\theta_{1}\) scores) and low on dimension 2 (have low \(\theta_{2}\) scores) are most likely to select a different response category. Individuals low on both dimensions are likely to select a 3rd response category. Because only 3 curves are clearly visible here, it appears that one of the response categories is not really being used in this item. This could of course be confirmed by looking into summaries or plots of the raw data. The steeper the curves, the better the item is at discriminating between individuals with different levels of \(\theta\).
Note: Proper item-analysis using IRT is not recommended for sample sizes below 500, conservatively, or 200 by some standards. The N is this study is 135, and the parameter estimates are known to be unstable under these conditions.
Finally we conducted a study of Cronbach’s alpha under varying conditions to further evaluate the scales and inform a decision to remove items.
Overall Scale (as a single scale, all items including 16, 18)
alpha(CHmPARQ)
##
## Reliability analysis
## Call: alpha(x = CHmPARQ)
##
## raw_alpha std.alpha G6(smc) average_r S/N ase mean sd median_r
## 0.9 0.91 0.93 0.29 9.7 0.012 1.5 0.41 0.29
##
## lower alpha upper 95% confidence boundaries
## 0.88 0.9 0.93
##
## Reliability if an item is dropped:
## raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## parqcm_1_ch_ot 0.90 0.90 0.93 0.29 9.4 0.013 0.014 0.29
## parqcm_3_ch_ot 0.90 0.90 0.93 0.29 9.2 0.013 0.014 0.28
## parqcm_9_ch_ot 0.90 0.90 0.93 0.29 9.2 0.013 0.014 0.28
## parqcm_12_ch_ot 0.90 0.90 0.93 0.29 9.3 0.013 0.014 0.28
## parqcm_13_ch_ot 0.90 0.90 0.93 0.28 9.1 0.013 0.014 0.28
## parqcm_17_ch_ot 0.90 0.90 0.93 0.28 9.2 0.013 0.014 0.28
## parqcm_19_ch_ot 0.90 0.90 0.93 0.29 9.3 0.013 0.014 0.29
## parqcm_22_ch_ot 0.90 0.90 0.93 0.29 9.3 0.013 0.014 0.28
## parqcm_24_ch_ot 0.90 0.90 0.93 0.28 9.0 0.013 0.013 0.28
## parqcm_2_ch_ot 0.90 0.90 0.93 0.29 9.4 0.012 0.015 0.29
## parqcm_4_ch_ot 0.90 0.91 0.93 0.30 9.7 0.012 0.013 0.29
## parqcm_5_ch_ot 0.90 0.91 0.93 0.30 9.7 0.012 0.014 0.30
## parqcm_6_ch_ot 0.90 0.90 0.93 0.28 9.1 0.013 0.015 0.28
## parqcm_7_ch_ot 0.89 0.90 0.93 0.28 9.0 0.013 0.015 0.28
## parqcm_8_ch_ot 0.90 0.90 0.93 0.28 9.0 0.013 0.014 0.28
## parqcm_10_ch_ot 0.90 0.90 0.93 0.28 9.1 0.013 0.015 0.28
## parqcm_11_ch_ot 0.90 0.90 0.93 0.29 9.2 0.013 0.015 0.28
## parqcm_14_ch_ot 0.90 0.90 0.93 0.28 9.2 0.013 0.015 0.28
## parqcm_15_ch_ot 0.90 0.90 0.93 0.29 9.2 0.013 0.015 0.28
## parqcm_16_ch_ot 0.90 0.91 0.93 0.30 9.7 0.012 0.014 0.30
## parqcm_18_ch_ot 0.90 0.91 0.93 0.30 9.9 0.012 0.013 0.30
## parqcm_20_ch_ot 0.90 0.90 0.93 0.29 9.4 0.013 0.015 0.28
## parqcm_21_ch_ot 0.90 0.90 0.93 0.29 9.4 0.013 0.015 0.29
## parqcm_23_ch_ot 0.90 0.90 0.93 0.29 9.4 0.013 0.015 0.29
##
## Item statistics
## n raw.r std.r r.cor r.drop mean sd
## parqcm_1_ch_ot 135 0.51 0.52 0.50 0.46 1.6 0.66
## parqcm_3_ch_ot 135 0.60 0.61 0.59 0.55 1.6 0.61
## parqcm_9_ch_ot 135 0.61 0.62 0.60 0.56 1.4 0.63
## parqcm_12_ch_ot 135 0.56 0.56 0.54 0.50 1.5 0.75
## parqcm_13_ch_ot 135 0.62 0.64 0.63 0.58 1.4 0.62
## parqcm_17_ch_ot 135 0.61 0.63 0.61 0.57 1.5 0.63
## parqcm_19_ch_ot 135 0.57 0.58 0.56 0.52 1.7 0.66
## parqcm_22_ch_ot 135 0.56 0.57 0.55 0.50 1.5 0.72
## parqcm_24_ch_ot 135 0.67 0.67 0.67 0.62 1.5 0.74
## parqcm_2_ch_ot 135 0.53 0.52 0.49 0.46 1.7 0.96
## parqcm_4_ch_ot 135 0.40 0.41 0.37 0.35 1.3 0.60
## parqcm_5_ch_ot 135 0.43 0.42 0.39 0.36 1.6 0.83
## parqcm_6_ch_ot 135 0.64 0.64 0.63 0.60 1.5 0.72
## parqcm_7_ch_ot 135 0.69 0.68 0.66 0.64 1.9 0.89
## parqcm_8_ch_ot 135 0.67 0.67 0.67 0.63 1.3 0.71
## parqcm_10_ch_ot 135 0.63 0.64 0.63 0.59 1.3 0.63
## parqcm_11_ch_ot 135 0.61 0.60 0.58 0.55 1.5 0.85
## parqcm_14_ch_ot 135 0.62 0.63 0.61 0.58 1.3 0.65
## parqcm_15_ch_ot 135 0.61 0.61 0.59 0.56 1.6 0.75
## parqcm_16_ch_ot 135 0.42 0.40 0.37 0.35 2.0 0.87
## parqcm_18_ch_ot 135 0.37 0.34 0.30 0.28 2.3 0.95
## parqcm_20_ch_ot 135 0.53 0.54 0.52 0.48 1.3 0.68
## parqcm_21_ch_ot 135 0.50 0.51 0.49 0.45 1.3 0.67
## parqcm_23_ch_ot 135 0.55 0.54 0.52 0.49 1.6 0.79
##
## Non missing response frequency for each item
## 1 2 3 4 miss
## parqcm_1_ch_ot 0.46 0.49 0.03 0.02 0
## parqcm_3_ch_ot 0.45 0.48 0.07 0.00 0
## parqcm_9_ch_ot 0.62 0.33 0.03 0.01 0
## parqcm_12_ch_ot 0.62 0.28 0.07 0.03 0
## parqcm_13_ch_ot 0.62 0.33 0.04 0.01 0
## parqcm_17_ch_ot 0.54 0.40 0.05 0.01 0
## parqcm_19_ch_ot 0.41 0.51 0.07 0.01 0
## parqcm_22_ch_ot 0.64 0.30 0.02 0.04 0
## parqcm_24_ch_ot 0.61 0.30 0.06 0.03 0
## parqcm_2_ch_ot 0.60 0.21 0.10 0.08 0
## parqcm_4_ch_ot 0.73 0.21 0.07 0.00 0
## parqcm_5_ch_ot 0.63 0.19 0.16 0.02 0
## parqcm_6_ch_ot 0.64 0.23 0.13 0.00 0
## parqcm_7_ch_ot 0.44 0.32 0.20 0.04 0
## parqcm_8_ch_ot 0.81 0.11 0.04 0.04 0
## parqcm_10_ch_ot 0.76 0.19 0.04 0.01 0
## parqcm_11_ch_ot 0.68 0.20 0.06 0.06 0
## parqcm_14_ch_ot 0.79 0.14 0.06 0.01 0
## parqcm_15_ch_ot 0.56 0.28 0.16 0.00 0
## parqcm_16_ch_ot 0.38 0.29 0.32 0.01 0
## parqcm_18_ch_ot 0.28 0.20 0.46 0.06 0
## parqcm_20_ch_ot 0.85 0.07 0.04 0.03 0
## parqcm_21_ch_ot 0.81 0.11 0.05 0.02 0
## parqcm_23_ch_ot 0.53 0.30 0.15 0.01 0
The Cronbach’s Alpha for this scale is .90 (95% CI: .88, .93).
Single Scale with items 16 and 18 removed
CHmPARQ2 <- CHmPARQ[,-c(20,21)] # Remove cols with items 16 and 18
alpha(CHmPARQ2)
##
## Reliability analysis
## Call: alpha(x = CHmPARQ2)
##
## raw_alpha std.alpha G6(smc) average_r S/N ase mean sd median_r
## 0.91 0.91 0.93 0.31 10 0.012 1.5 0.42 0.31
##
## lower alpha upper 95% confidence boundaries
## 0.88 0.91 0.93
##
## Reliability if an item is dropped:
## raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## parqcm_1_ch_ot 0.90 0.91 0.93 0.31 9.7 0.012 0.012 0.31
## parqcm_3_ch_ot 0.90 0.90 0.93 0.31 9.4 0.012 0.012 0.31
## parqcm_9_ch_ot 0.90 0.90 0.93 0.31 9.4 0.012 0.012 0.31
## parqcm_12_ch_ot 0.90 0.91 0.93 0.31 9.6 0.012 0.012 0.31
## parqcm_13_ch_ot 0.90 0.90 0.93 0.31 9.3 0.012 0.012 0.31
## parqcm_17_ch_ot 0.90 0.90 0.93 0.31 9.4 0.012 0.012 0.30
## parqcm_19_ch_ot 0.90 0.90 0.93 0.31 9.5 0.012 0.012 0.31
## parqcm_22_ch_ot 0.90 0.91 0.93 0.31 9.5 0.012 0.012 0.31
## parqcm_24_ch_ot 0.90 0.90 0.92 0.31 9.2 0.012 0.011 0.30
## parqcm_2_ch_ot 0.90 0.91 0.93 0.32 9.7 0.012 0.013 0.32
## parqcm_4_ch_ot 0.91 0.91 0.93 0.32 10.0 0.012 0.011 0.32
## parqcm_5_ch_ot 0.91 0.91 0.93 0.32 9.9 0.012 0.012 0.32
## parqcm_6_ch_ot 0.90 0.90 0.93 0.31 9.4 0.012 0.012 0.31
## parqcm_7_ch_ot 0.90 0.90 0.93 0.31 9.3 0.013 0.013 0.30
## parqcm_8_ch_ot 0.90 0.90 0.92 0.31 9.3 0.012 0.012 0.30
## parqcm_10_ch_ot 0.90 0.90 0.93 0.31 9.4 0.012 0.012 0.31
## parqcm_11_ch_ot 0.90 0.90 0.93 0.31 9.4 0.012 0.013 0.31
## parqcm_14_ch_ot 0.90 0.90 0.93 0.31 9.4 0.012 0.013 0.31
## parqcm_15_ch_ot 0.90 0.90 0.93 0.31 9.4 0.012 0.013 0.31
## parqcm_20_ch_ot 0.90 0.91 0.93 0.31 9.6 0.012 0.012 0.31
## parqcm_21_ch_ot 0.90 0.91 0.93 0.31 9.6 0.012 0.013 0.32
## parqcm_23_ch_ot 0.90 0.91 0.93 0.31 9.6 0.012 0.013 0.31
##
## Item statistics
## n raw.r std.r r.cor r.drop mean sd
## parqcm_1_ch_ot 135 0.52 0.53 0.50 0.46 1.6 0.66
## parqcm_3_ch_ot 135 0.60 0.61 0.59 0.55 1.6 0.61
## parqcm_9_ch_ot 135 0.62 0.63 0.61 0.57 1.4 0.63
## parqcm_12_ch_ot 135 0.56 0.57 0.54 0.50 1.5 0.75
## parqcm_13_ch_ot 135 0.63 0.65 0.63 0.59 1.4 0.62
## parqcm_17_ch_ot 135 0.63 0.64 0.62 0.59 1.5 0.63
## parqcm_19_ch_ot 135 0.57 0.58 0.56 0.52 1.7 0.66
## parqcm_22_ch_ot 135 0.56 0.57 0.56 0.51 1.5 0.72
## parqcm_24_ch_ot 135 0.68 0.68 0.68 0.63 1.5 0.74
## parqcm_2_ch_ot 135 0.54 0.52 0.49 0.46 1.7 0.96
## parqcm_4_ch_ot 135 0.42 0.42 0.38 0.36 1.3 0.60
## parqcm_5_ch_ot 135 0.45 0.44 0.40 0.38 1.6 0.83
## parqcm_6_ch_ot 135 0.63 0.62 0.61 0.57 1.5 0.72
## parqcm_7_ch_ot 135 0.68 0.67 0.65 0.63 1.9 0.89
## parqcm_8_ch_ot 135 0.67 0.68 0.67 0.63 1.3 0.71
## parqcm_10_ch_ot 135 0.62 0.63 0.61 0.58 1.3 0.63
## parqcm_11_ch_ot 135 0.62 0.60 0.58 0.56 1.5 0.85
## parqcm_14_ch_ot 135 0.63 0.63 0.61 0.58 1.3 0.65
## parqcm_15_ch_ot 135 0.61 0.61 0.59 0.55 1.6 0.75
## parqcm_20_ch_ot 135 0.54 0.54 0.52 0.48 1.3 0.68
## parqcm_21_ch_ot 135 0.53 0.53 0.50 0.47 1.3 0.67
## parqcm_23_ch_ot 135 0.55 0.54 0.51 0.49 1.6 0.79
##
## Non missing response frequency for each item
## 1 2 3 4 miss
## parqcm_1_ch_ot 0.46 0.49 0.03 0.02 0
## parqcm_3_ch_ot 0.45 0.48 0.07 0.00 0
## parqcm_9_ch_ot 0.62 0.33 0.03 0.01 0
## parqcm_12_ch_ot 0.62 0.28 0.07 0.03 0
## parqcm_13_ch_ot 0.62 0.33 0.04 0.01 0
## parqcm_17_ch_ot 0.54 0.40 0.05 0.01 0
## parqcm_19_ch_ot 0.41 0.51 0.07 0.01 0
## parqcm_22_ch_ot 0.64 0.30 0.02 0.04 0
## parqcm_24_ch_ot 0.61 0.30 0.06 0.03 0
## parqcm_2_ch_ot 0.60 0.21 0.10 0.08 0
## parqcm_4_ch_ot 0.73 0.21 0.07 0.00 0
## parqcm_5_ch_ot 0.63 0.19 0.16 0.02 0
## parqcm_6_ch_ot 0.64 0.23 0.13 0.00 0
## parqcm_7_ch_ot 0.44 0.32 0.20 0.04 0
## parqcm_8_ch_ot 0.81 0.11 0.04 0.04 0
## parqcm_10_ch_ot 0.76 0.19 0.04 0.01 0
## parqcm_11_ch_ot 0.68 0.20 0.06 0.06 0
## parqcm_14_ch_ot 0.79 0.14 0.06 0.01 0
## parqcm_15_ch_ot 0.56 0.28 0.16 0.00 0
## parqcm_20_ch_ot 0.85 0.07 0.04 0.03 0
## parqcm_21_ch_ot 0.81 0.11 0.05 0.02 0
## parqcm_23_ch_ot 0.53 0.30 0.15 0.01 0
The Cronbach’s Alpha for this scale is .91 (95% CI: .88, .93).
Factor 1 Subscale
alpha(CHmPARQ2[,c(10:22)])
##
## Reliability analysis
## Call: alpha(x = CHmPARQ2[, c(10:22)])
##
## raw_alpha std.alpha G6(smc) average_r S/N ase mean sd median_r
## 0.86 0.87 0.88 0.34 6.6 0.017 1.5 0.47 0.35
##
## lower alpha upper 95% confidence boundaries
## 0.83 0.86 0.9
##
## Reliability if an item is dropped:
## raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## parqcm_2_ch_ot 0.86 0.86 0.87 0.35 6.3 0.018 0.0078 0.35
## parqcm_4_ch_ot 0.86 0.86 0.87 0.34 6.3 0.018 0.0082 0.36
## parqcm_5_ch_ot 0.86 0.86 0.88 0.35 6.4 0.018 0.0079 0.36
## parqcm_6_ch_ot 0.85 0.85 0.86 0.33 5.8 0.019 0.0079 0.34
## parqcm_7_ch_ot 0.85 0.86 0.87 0.33 6.0 0.019 0.0083 0.34
## parqcm_8_ch_ot 0.85 0.85 0.86 0.32 5.8 0.019 0.0070 0.34
## parqcm_10_ch_ot 0.85 0.85 0.87 0.33 5.9 0.019 0.0077 0.34
## parqcm_11_ch_ot 0.85 0.85 0.87 0.33 5.9 0.019 0.0084 0.33
## parqcm_14_ch_ot 0.85 0.85 0.86 0.33 5.9 0.019 0.0077 0.34
## parqcm_15_ch_ot 0.85 0.86 0.87 0.34 6.1 0.018 0.0080 0.35
## parqcm_20_ch_ot 0.86 0.86 0.87 0.34 6.2 0.018 0.0074 0.35
## parqcm_21_ch_ot 0.86 0.86 0.87 0.34 6.2 0.018 0.0083 0.35
## parqcm_23_ch_ot 0.85 0.86 0.87 0.34 6.1 0.018 0.0084 0.35
##
## Item statistics
## n raw.r std.r r.cor r.drop mean sd
## parqcm_2_ch_ot 135 0.57 0.54 0.48 0.44 1.7 0.96
## parqcm_4_ch_ot 135 0.55 0.56 0.51 0.47 1.3 0.60
## parqcm_5_ch_ot 135 0.54 0.53 0.47 0.43 1.6 0.83
## parqcm_6_ch_ot 135 0.69 0.69 0.67 0.62 1.5 0.72
## parqcm_7_ch_ot 135 0.67 0.65 0.61 0.57 1.9 0.89
## parqcm_8_ch_ot 135 0.70 0.71 0.70 0.63 1.3 0.71
## parqcm_10_ch_ot 135 0.67 0.69 0.66 0.60 1.3 0.63
## parqcm_11_ch_ot 135 0.69 0.68 0.65 0.60 1.5 0.85
## parqcm_14_ch_ot 135 0.67 0.68 0.66 0.61 1.3 0.65
## parqcm_15_ch_ot 135 0.60 0.60 0.56 0.52 1.6 0.75
## parqcm_20_ch_ot 135 0.56 0.57 0.52 0.48 1.3 0.68
## parqcm_21_ch_ot 135 0.56 0.58 0.53 0.48 1.3 0.67
## parqcm_23_ch_ot 135 0.60 0.60 0.55 0.51 1.6 0.79
##
## Non missing response frequency for each item
## 1 2 3 4 miss
## parqcm_2_ch_ot 0.60 0.21 0.10 0.08 0
## parqcm_4_ch_ot 0.73 0.21 0.07 0.00 0
## parqcm_5_ch_ot 0.63 0.19 0.16 0.02 0
## parqcm_6_ch_ot 0.64 0.23 0.13 0.00 0
## parqcm_7_ch_ot 0.44 0.32 0.20 0.04 0
## parqcm_8_ch_ot 0.81 0.11 0.04 0.04 0
## parqcm_10_ch_ot 0.76 0.19 0.04 0.01 0
## parqcm_11_ch_ot 0.68 0.20 0.06 0.06 0
## parqcm_14_ch_ot 0.79 0.14 0.06 0.01 0
## parqcm_15_ch_ot 0.56 0.28 0.16 0.00 0
## parqcm_20_ch_ot 0.85 0.07 0.04 0.03 0
## parqcm_21_ch_ot 0.81 0.11 0.05 0.02 0
## parqcm_23_ch_ot 0.53 0.30 0.15 0.01 0
The Cronbach’s Alpha for this scale is .86 (95% CI: .83, .90).
Factor 2 Subscale
alpha(CHmPARQ2[,c(1:9)])
##
## Reliability analysis
## Call: alpha(x = CHmPARQ2[, c(1:9)])
##
## raw_alpha std.alpha G6(smc) average_r S/N ase mean sd median_r
## 0.87 0.87 0.87 0.43 6.7 0.017 1.5 0.47 0.44
##
## lower alpha upper 95% confidence boundaries
## 0.84 0.87 0.9
##
## Reliability if an item is dropped:
## raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## parqcm_1_ch_ot 0.86 0.86 0.86 0.44 6.3 0.018 0.0071 0.45
## parqcm_3_ch_ot 0.86 0.86 0.86 0.43 6.0 0.019 0.0081 0.44
## parqcm_9_ch_ot 0.85 0.85 0.86 0.42 5.8 0.019 0.0074 0.44
## parqcm_12_ch_ot 0.86 0.86 0.86 0.44 6.2 0.018 0.0060 0.44
## parqcm_13_ch_ot 0.85 0.85 0.85 0.42 5.8 0.019 0.0068 0.43
## parqcm_17_ch_ot 0.85 0.85 0.86 0.42 5.9 0.019 0.0067 0.43
## parqcm_19_ch_ot 0.86 0.86 0.86 0.43 6.0 0.019 0.0067 0.45
## parqcm_22_ch_ot 0.86 0.86 0.86 0.44 6.3 0.018 0.0044 0.45
## parqcm_24_ch_ot 0.84 0.85 0.84 0.41 5.5 0.021 0.0056 0.41
##
## Item statistics
## n raw.r std.r r.cor r.drop mean sd
## parqcm_1_ch_ot 135 0.65 0.65 0.58 0.54 1.6 0.66
## parqcm_3_ch_ot 135 0.69 0.70 0.64 0.60 1.6 0.61
## parqcm_9_ch_ot 135 0.72 0.73 0.68 0.64 1.4 0.63
## parqcm_12_ch_ot 135 0.67 0.66 0.60 0.55 1.5 0.75
## parqcm_13_ch_ot 135 0.74 0.74 0.71 0.66 1.4 0.62
## parqcm_17_ch_ot 135 0.71 0.72 0.67 0.62 1.5 0.63
## parqcm_19_ch_ot 135 0.69 0.70 0.65 0.60 1.7 0.66
## parqcm_22_ch_ot 135 0.64 0.64 0.59 0.53 1.5 0.72
## parqcm_24_ch_ot 135 0.80 0.79 0.78 0.72 1.5 0.74
##
## Non missing response frequency for each item
## 1 2 3 4 miss
## parqcm_1_ch_ot 0.46 0.49 0.03 0.02 0
## parqcm_3_ch_ot 0.45 0.48 0.07 0.00 0
## parqcm_9_ch_ot 0.62 0.33 0.03 0.01 0
## parqcm_12_ch_ot 0.62 0.28 0.07 0.03 0
## parqcm_13_ch_ot 0.62 0.33 0.04 0.01 0
## parqcm_17_ch_ot 0.54 0.40 0.05 0.01 0
## parqcm_19_ch_ot 0.41 0.51 0.07 0.01 0
## parqcm_22_ch_ot 0.64 0.30 0.02 0.04 0
## parqcm_24_ch_ot 0.61 0.30 0.06 0.03 0
The Cronbach’s Alpha for this scale is .87 (95% CI: .84, .90).
In this step, we conduct a confirmatory analysis loading items 2,4,5,6,7,8,10,11,14,15,20,21, and 23 onto Factor 1, and items 1,3,9,12,13,17,19,22, and 24 onto Factor 2. Items 16 and 18 are excluded from the model.
In the exploratory analysis, the factors were highly correlated (as would be expected theoretically), so we also allowed for a covariance between the two factors.
fac2mod <- mirt.model('F1 = 10,11,12,13,14,15,16,17,18,19,20,21,22
F2 = 1,2,3,4,5,6,7,8,9
COV = F1*F2')
cmirt2 <- mirt(CHmPARQ2, model=fac2mod)
summary(cmirt2, suppress=.1) #suppress all values below .1
## F1 F2 h2
## parqcm_1_ch_ot NA 0.702 0.493
## parqcm_3_ch_ot NA 0.779 0.607
## parqcm_9_ch_ot NA 0.854 0.730
## parqcm_12_ch_ot NA 0.778 0.605
## parqcm_13_ch_ot NA 0.857 0.734
## parqcm_17_ch_ot NA 0.814 0.663
## parqcm_19_ch_ot NA 0.786 0.618
## parqcm_22_ch_ot NA 0.736 0.542
## parqcm_24_ch_ot NA 0.887 0.787
## parqcm_2_ch_ot 0.662 NA 0.438
## parqcm_4_ch_ot 0.615 NA 0.378
## parqcm_5_ch_ot 0.604 NA 0.364
## parqcm_6_ch_ot 0.763 NA 0.582
## parqcm_7_ch_ot 0.778 NA 0.605
## parqcm_8_ch_ot 0.859 NA 0.739
## parqcm_10_ch_ot 0.822 NA 0.675
## parqcm_11_ch_ot 0.783 NA 0.614
## parqcm_14_ch_ot 0.825 NA 0.680
## parqcm_15_ch_ot 0.704 NA 0.495
## parqcm_20_ch_ot 0.791 NA 0.626
## parqcm_21_ch_ot 0.736 NA 0.542
## parqcm_23_ch_ot 0.699 NA 0.489
##
## SS loadings: NA NA
## Proportion Var: NA NA
##
## Factor correlations:
##
## F1 F2
## F1 1.000 0.775
## F2 0.775 1.000
M2(cmirt2, type="M2*")
## M2 df p RMSEA RMSEA_5 RMSEA_95 SRMSR TLI
## stats 210.269 168 0.01491095 0.0433315 0.02029113 0.06062602 0.08968373 0.97872
## CFI
## stats 0.9812825
All factor loadings for this model are > .6 and all communalities are greater than .35. Loadings equal to NA all represent loadings of 0.
The two factors have a covariance of .775. Note that the covariance is positive because the negatively worded items were reverse coded (so the “negative” parenting factor represents the degree to which parents are not displaying these negative behaviors).
The model fit statistics suggest acceptable model fit. The RMSEA is .043 (95% CI: .020, .061). The TLI and CFA are both > .97, suggesting good fit. The SRMSR (appropriate and recommended for ordered polytomous data) is .09, which would suggest acceptable but not great fit. The \(M_{2}\) statistic (which is actually a collapsed \(M_{2}\) statistic, a limited information test statistic appropriate for use as a relative fit measure for graded response IRT models, similar to the \(\chi^2\) statistic) is statistically significant, \(p=.015\), which is indicative of less than good model fit.