Skip to contents

Data obtained from the TESTFACT (Woods et al., 2003) manual, with 32 response pattern scored items for a grade 12 science assessment test (SAT) measuring topics of chemistry, biology, and physics. The scoring key for these data is [1, 4, 5, 2, 3, 1, 2, 1, 3, 1, 2, 4, 2, 1, 5, 3, 4, 4, 1, 4, 3, 3, 4, 1, 3, 5, 1, 3, 1, 5, 4, 5], respectively. However, careful analysis using the nominal response model suggests that the scoring key for item 32 may be incorrect, and should be changed from 5 to 3.

References

Wood, R., Wilson, D. T., Gibbons, R. D., Schilling, S. G., Muraki, E., & Bock, R. D. (2003). TESTFACT 4 for Windows: Test Scoring, Item Statistics, and Full-information Item Factor Analysis [Computer software]. Lincolnwood, IL: Scientific Software International.

Author

Phil Chalmers rphilip.chalmers@gmail.com

Examples


# \donttest{

itemstats(SAT12, use_ts = FALSE)
#> $overall
#>     N
#> 1 600
#> 
#> $itemstats
#>           N  mean    sd
#> Item.1  600 2.497 1.188
#> Item.2  600 3.385 1.356
#> Item.3  600 3.212 1.534
#> Item.4  600 2.762 1.370
#> Item.5  600 2.868 0.911
#> Item.6  600 2.358 1.135
#> Item.7  600 2.422 0.908
#> Item.8  600 2.925 1.370
#> Item.9  600 2.907 0.567
#> Item.10 600 2.320 1.490
#> Item.11 600 2.017 0.199
#> Item.12 600 3.642 1.184
#> Item.13 600 2.317 0.956
#> Item.14 600 1.798 1.432
#> Item.15 600 4.535 1.087
#> Item.16 600 3.368 1.135
#> Item.17 600 3.968 0.343
#> Item.18 600 3.020 1.514
#> Item.19 600 1.900 1.053
#> Item.20 600 3.870 0.483
#> Item.21 600 2.937 0.554
#> Item.22 600 2.985 0.442
#> Item.23 600 2.755 1.437
#> Item.24 600 1.502 1.037
#> Item.25 600 2.740 1.380
#> Item.26 600 3.923 1.265
#> Item.27 600 1.240 0.766
#> Item.28 600 3.262 0.937
#> Item.29 600 2.285 1.306
#> Item.30 600 3.703 1.553
#> Item.31 600 3.788 0.899
#> Item.32 600 3.023 1.303
#> 
#> $proportions
#>             1     2     3     4     5     8
#> Item.1  0.283 0.203 0.267 0.232 0.013 0.002
#> Item.2  0.212 0.022 0.070 0.568 0.127 0.002
#> Item.3  0.165 0.183 0.260 0.098 0.280 0.013
#> Item.4  0.165 0.378 0.148 0.172 0.128 0.008
#> Item.5  0.093 0.143 0.620 0.093 0.048 0.002
#> Item.6  0.160 0.582 0.107 0.043 0.108    NA
#> Item.7  0.025 0.760 0.007 0.190 0.017 0.002
#> Item.8  0.202 0.205 0.207 0.250 0.133 0.003
#> Item.9  0.065 0.010 0.885 0.033 0.007    NA
#> Item.10 0.422 0.215 0.165 0.028 0.167 0.003
#> Item.11 0.003 0.983 0.008 0.003 0.002    NA
#> Item.12 0.072 0.082 0.218 0.415 0.205 0.008
#> Item.13 0.110 0.662 0.070 0.118 0.040    NA
#> Item.14 0.723 0.027 0.108 0.022 0.117 0.003
#> Item.15 0.035 0.062 0.060 0.025 0.817 0.002
#> Item.16 0.070 0.105 0.413 0.215 0.195 0.002
#> Item.17 0.008 0.005 0.010 0.963 0.013    NA
#> Item.18 0.303 0.033 0.165 0.352 0.142 0.005
#> Item.19 0.548 0.053 0.358 0.030 0.010    NA
#> Item.20 0.012 0.002 0.105 0.873 0.007 0.002
#> Item.21 0.050 0.008 0.915 0.013 0.012 0.002
#> Item.22 0.028 0.005 0.935 0.017 0.015    NA
#> Item.23 0.290 0.177 0.128 0.313 0.087 0.005
#> Item.24 0.728 0.162 0.042 0.022 0.045 0.002
#> Item.25 0.240 0.170 0.375 0.065 0.142 0.008
#> Item.26 0.020 0.227 0.030 0.262 0.460 0.002
#> Item.27 0.862 0.093 0.012 0.020 0.010 0.003
#> Item.28 0.082 0.010 0.530 0.337 0.037 0.005
#> Item.29 0.340 0.295 0.205 0.085 0.067 0.008
#> Item.30 0.150 0.110 0.107 0.183 0.440 0.010
#> Item.31 0.075 0.020 0.012 0.833 0.058 0.002
#> Item.32 0.125 0.183 0.443 0.075 0.162 0.012
#> 

# score the data (missing scored as 0)
head(SAT12)
#>   Item.1 Item.2 Item.3 Item.4 Item.5 Item.6 Item.7 Item.8 Item.9 Item.10
#> 1      1      4      5      2      3      1      2      1      3       1
#> 2      3      4      2      8      3      3      2      8      3       1
#> 3      1      4      5      4      3      2      2      3      3       2
#> 4      2      4      4      2      3      3      2      4      3       2
#> 5      2      4      5      2      3      2      2      1      1       2
#> 6      1      4      3      1      3      2      2      3      3       1
#>   Item.11 Item.12 Item.13 Item.14 Item.15 Item.16 Item.17 Item.18 Item.19
#> 1       2       4       2       1       5       3       4       4       1
#> 2       2       8       2       1       5       2       4       1       1
#> 3       2       1       3       1       5       5       4       1       3
#> 4       2       4       2       1       5       2       4       1       3
#> 5       2       4       2       1       5       4       4       5       1
#> 6       2       3       2       1       5       5       4       4       1
#>   Item.20 Item.21 Item.22 Item.23 Item.24 Item.25 Item.26 Item.27 Item.28
#> 1       4       3       3       4       1       3       5       1       3
#> 2       4       3       3       8       1       8       4       1       4
#> 3       4       3       3       1       1       3       4       1       3
#> 4       4       3       1       5       2       5       4       1       3
#> 5       4       3       3       3       1       1       5       1       3
#> 6       4       3       3       4       1       1       4       1       4
#>   Item.29 Item.30 Item.31 Item.32
#> 1       1       5       4       5
#> 2       5       8       4       8
#> 3       4       4       4       1
#> 4       4       2       4       2
#> 5       1       2       4       1
#> 6       2       3       4       3
dat <- key2binary(SAT12,
    key = c(1,4,5,2,3,1,2,1,3,1,2,4,2,1,5,3,4,4,1,4,3,3,4,1,3,5,1,3,1,5,4,5))
head(dat)
#>      Item.1 Item.2 Item.3 Item.4 Item.5 Item.6 Item.7 Item.8 Item.9 Item.10
#> [1,]      1      1      1      1      1      1      1      1      1       1
#> [2,]      0      1      0      0      1      0      1      0      1       1
#> [3,]      1      1      1      0      1      0      1      0      1       0
#> [4,]      0      1      0      1      1      0      1      0      1       0
#> [5,]      0      1      1      1      1      0      1      1      0       0
#> [6,]      1      1      0      0      1      0      1      0      1       1
#>      Item.11 Item.12 Item.13 Item.14 Item.15 Item.16 Item.17 Item.18 Item.19
#> [1,]       1       1       1       1       1       1       1       1       1
#> [2,]       1       0       1       1       1       0       1       0       1
#> [3,]       1       0       0       1       1       0       1       0       0
#> [4,]       1       1       1       1       1       0       1       0       0
#> [5,]       1       1       1       1       1       0       1       0       1
#> [6,]       1       0       1       1       1       0       1       1       1
#>      Item.20 Item.21 Item.22 Item.23 Item.24 Item.25 Item.26 Item.27 Item.28
#> [1,]       1       1       1       1       1       1       1       1       1
#> [2,]       1       1       1       0       1       0       0       1       0
#> [3,]       1       1       1       0       1       1       0       1       1
#> [4,]       1       1       0       0       0       0       0       1       1
#> [5,]       1       1       1       0       1       0       1       1       1
#> [6,]       1       1       1       1       1       0       0       1       0
#>      Item.29 Item.30 Item.31 Item.32
#> [1,]       1       1       1       1
#> [2,]       0       0       1       0
#> [3,]       0       0       1       0
#> [4,]       0       0       1       0
#> [5,]       1       0       1       0
#> [6,]       0       0       1       0
itemstats(dat)
#> $overall
#>    N mean_total.score sd_total.score ave.r  sd.r alpha SEM.alpha
#>  600           18.202          5.054 0.108 0.075 0.798     2.272
#> 
#> $itemstats
#>           N  mean    sd total.r total.r_if_rm alpha_if_rm
#> Item.1  600 0.283 0.451   0.380         0.300       0.793
#> Item.2  600 0.568 0.496   0.539         0.464       0.785
#> Item.3  600 0.280 0.449   0.446         0.371       0.789
#> Item.4  600 0.378 0.485   0.325         0.235       0.796
#> Item.5  600 0.620 0.486   0.424         0.340       0.791
#> Item.6  600 0.160 0.367   0.414         0.351       0.791
#> Item.7  600 0.760 0.427   0.366         0.289       0.793
#> Item.8  600 0.202 0.402   0.307         0.233       0.795
#> Item.9  600 0.885 0.319   0.189         0.127       0.798
#> Item.10 600 0.422 0.494   0.465         0.383       0.789
#> Item.11 600 0.983 0.128   0.181         0.156       0.797
#> Item.12 600 0.415 0.493   0.173         0.076       0.803
#> Item.13 600 0.662 0.474   0.438         0.358       0.790
#> Item.14 600 0.723 0.448   0.411         0.333       0.791
#> Item.15 600 0.817 0.387   0.393         0.325       0.792
#> Item.16 600 0.413 0.493   0.367         0.278       0.794
#> Item.17 600 0.963 0.188   0.238         0.202       0.796
#> Item.18 600 0.352 0.478   0.576         0.508       0.783
#> Item.19 600 0.548 0.498   0.401         0.314       0.792
#> Item.20 600 0.873 0.333   0.376         0.318       0.792
#> Item.21 600 0.915 0.279   0.190         0.136       0.798
#> Item.22 600 0.935 0.247   0.284         0.238       0.795
#> Item.23 600 0.313 0.464   0.338         0.253       0.795
#> Item.24 600 0.728 0.445   0.422         0.346       0.791
#> Item.25 600 0.375 0.485   0.383         0.297       0.793
#> Item.26 600 0.460 0.499   0.562         0.489       0.783
#> Item.27 600 0.862 0.346   0.425         0.367       0.791
#> Item.28 600 0.530 0.500   0.465         0.383       0.789
#> Item.29 600 0.340 0.474   0.407         0.324       0.791
#> Item.30 600 0.440 0.497   0.255         0.159       0.799
#> Item.31 600 0.833 0.373   0.479         0.419       0.788
#> Item.32 600 0.162 0.368   0.110         0.037       0.802
#> 
#> $proportions
#>             0     1
#> Item.1  0.717 0.283
#> Item.2  0.432 0.568
#> Item.3  0.720 0.280
#> Item.4  0.622 0.378
#> Item.5  0.380 0.620
#> Item.6  0.840 0.160
#> Item.7  0.240 0.760
#> Item.8  0.798 0.202
#> Item.9  0.115 0.885
#> Item.10 0.578 0.422
#> Item.11 0.017 0.983
#> Item.12 0.585 0.415
#> Item.13 0.338 0.662
#> Item.14 0.277 0.723
#> Item.15 0.183 0.817
#> Item.16 0.587 0.413
#> Item.17 0.037 0.963
#> Item.18 0.648 0.352
#> Item.19 0.452 0.548
#> Item.20 0.127 0.873
#> Item.21 0.085 0.915
#> Item.22 0.065 0.935
#> Item.23 0.687 0.313
#> Item.24 0.272 0.728
#> Item.25 0.625 0.375
#> Item.26 0.540 0.460
#> Item.27 0.138 0.862
#> Item.28 0.470 0.530
#> Item.29 0.660 0.340
#> Item.30 0.560 0.440
#> Item.31 0.167 0.833
#> Item.32 0.838 0.162
#> 

# score the data, missing (value of 8) treated as NA
SAT12missing <- SAT12
SAT12missing[SAT12missing == 8] <- NA
dat <- key2binary(SAT12missing,
    key = c(1,4,5,2,3,1,2,1,3,1,2,4,2,1,5,3,4,4,1,4,3,3,4,1,3,5,1,3,1,5,4,5))
head(dat)
#>      Item.1 Item.2 Item.3 Item.4 Item.5 Item.6 Item.7 Item.8 Item.9 Item.10
#> [1,]      1      1      1      1      1      1      1      1      1       1
#> [2,]      0      1      0     NA      1      0      1     NA      1       1
#> [3,]      1      1      1      0      1      0      1      0      1       0
#> [4,]      0      1      0      1      1      0      1      0      1       0
#> [5,]      0      1      1      1      1      0      1      1      0       0
#> [6,]      1      1      0      0      1      0      1      0      1       1
#>      Item.11 Item.12 Item.13 Item.14 Item.15 Item.16 Item.17 Item.18 Item.19
#> [1,]       1       1       1       1       1       1       1       1       1
#> [2,]       1      NA       1       1       1       0       1       0       1
#> [3,]       1       0       0       1       1       0       1       0       0
#> [4,]       1       1       1       1       1       0       1       0       0
#> [5,]       1       1       1       1       1       0       1       0       1
#> [6,]       1       0       1       1       1       0       1       1       1
#>      Item.20 Item.21 Item.22 Item.23 Item.24 Item.25 Item.26 Item.27 Item.28
#> [1,]       1       1       1       1       1       1       1       1       1
#> [2,]       1       1       1      NA       1      NA       0       1       0
#> [3,]       1       1       1       0       1       1       0       1       1
#> [4,]       1       1       0       0       0       0       0       1       1
#> [5,]       1       1       1       0       1       0       1       1       1
#> [6,]       1       1       1       1       1       0       0       1       0
#>      Item.29 Item.30 Item.31 Item.32
#> [1,]       1       1       1       1
#> [2,]       0      NA       1      NA
#> [3,]       0       0       1       0
#> [4,]       0       0       1       0
#> [5,]       1       0       1       0
#> [6,]       0       0       1       0

# potentially better scoring for item 32 (based on nominal model finding)
dat <- key2binary(SAT12,
    key = c(1,4,5,2,3,1,2,1,3,1,2,4,2,1,5,3,4,4,1,4,3,3,4,1,3,5,1,3,1,5,4,3))
# }