This script cleans & analyzes the spring 19 s19 data

Contents:

          ## Part 1 - load test data & prep for analysis
          ## Part 2 - basic psychometric analyses
          ## Part 3 - multidimensional analyses

Part 1

load libraries and data

library(mirt)
## Warning: package 'mirt' was built under R version 4.1.3
## Loading required package: stats4
## Loading required package: lattice
## Warning: package 'lattice' was built under R version 4.1.3
library(psych)
library(mokken)
## Warning: package 'mokken' was built under R version 4.1.3
## Loading required package: poLCA
## Warning: package 'poLCA' was built under R version 4.1.3
## Loading required package: scatterplot3d
## Loading required package: MASS
## Warning: package 'MASS' was built under R version 4.1.3
## 
## Attaching package: 'mokken'
## The following object is masked from 'package:psych':
## 
##     ICC
s19_raw <- read.csv("G:/My Drive/EACI/Master Excel files & test books/19 spring/all end of semester data for spring 2019, de-identified, missing CUNYfirst IDs.csv")
s19 <- data.frame(s19_raw[,c(1,3,5:28)]) # create a dataframe as a subset of variables we'll use

clean up some variables

names(s19)[3] <- 'id'# fix student ID var name so we can match the demographics later
s19$id <- as.character(s19$id) # convert student ids to string so they display properly
describe(s19)# basic descriptives for all variables
##         vars   n   mean     sd median trimmed    mad min max range  skew
## Sr.no      1 716 358.50 206.84  358.5  358.50 265.39   1 716   715  0.00
## course*    2 716  29.85  15.43   29.0   29.44  16.31   1  61    60  0.22
## id*        3 666 332.41 191.56  332.5  332.38 245.37   1 664   663  0.00
## Form*      4 716   3.97   1.88    4.0    4.09   1.48   1   6     5 -0.66
## Q1*        5 716   3.12   1.12    4.0    3.07   1.48   1   7     6  0.23
## Q2*        6 716   4.40   1.65    5.0    4.46   1.48   1   9     8 -0.46
## Q3*        7 716   5.26   2.42    6.0    5.33   2.97   1   9     8 -0.44
## Q4*        8 716   2.85   1.34    2.0    2.68   0.00   1   6     5  0.96
## Q5*        9 716   3.45   0.92    4.0    3.53   0.00   1   5     4 -0.85
## Q6*       10 716   3.08   0.90    3.0    3.11   1.48   1   6     5 -0.19
## Q7*       11 716   2.56   0.96    2.0    2.42   0.00   1   7     6  1.52
## Q8*       12 716   3.39   1.21    4.0    3.36   1.48   1   6     5 -0.12
## Q9*       13 716   4.30   1.60    5.0    4.37   1.48   1   7     6 -0.56
## Q10*      14 716   4.21   1.67    4.0    4.27   2.97   1   7     6 -0.20
## Q11*      15 716   3.74   1.45    4.0    3.70   1.48   1   6     5  0.31
## Q12*      16 716   3.29   1.16    3.0    3.26   1.48   1   6     5  0.17
## Q13*      17 716   7.64   2.26    9.0    8.13   0.00   1   9     8 -1.56
## Q14*      18 716   3.66   0.92    4.0    3.73   0.00   1   6     5 -0.73
## Q15*      19 716   3.46   1.75    2.0    3.28   1.48   1   7     6  0.61
## Q16*      20 716   3.09   0.63    3.0    3.01   0.00   1   6     5  1.55
## Q17*      21 716   3.67   1.68    3.0    3.43   0.00   1   8     7  1.48
## Q18*      22 716   3.91   0.82    4.0    4.01   0.00   1   6     5 -1.32
## Q19*      23 716   4.59   1.55    5.0    4.77   1.48   1   6     5 -0.64
## Q20*      24 716   6.01   1.80    7.0    6.41   0.00   1   7     6 -1.56
## Q21*      25 716   5.50   1.26    6.0    5.82   0.00   1   7     6 -2.27
## Q22*      26 716   3.20   1.08    3.0    3.07   0.00   1   7     6  1.19
##         kurtosis   se
## Sr.no      -1.21 7.73
## course*    -0.74 0.58
## id*        -1.20 7.42
## Form*      -1.05 0.07
## Q1*        -1.05 0.04
## Q2*        -0.76 0.06
## Q3*        -1.47 0.09
## Q4*        -0.97 0.05
## Q5*        -0.92 0.03
## Q6*        -0.76 0.03
## Q7*         2.01 0.04
## Q8*        -1.42 0.05
## Q9*        -1.18 0.06
## Q10*       -1.50 0.06
## Q11*       -0.98 0.05
## Q12*       -1.19 0.04
## Q13*        1.26 0.08
## Q14*        1.06 0.03
## Q15*       -0.98 0.07
## Q16*        8.03 0.02
## Q17*        1.41 0.06
## Q18*        3.41 0.03
## Q19*       -0.96 0.06
## Q20*        0.89 0.07
## Q21*        4.10 0.05
## Q22*        2.13 0.04
length(unique(s19$id)) # check to see if all student ids are unique
## [1] 665

find and remove duplicates

s19$id[duplicated(s19$id)] # list of duplicates
##  [1] NA         NA         NA         NA         NA         NA        
##  [7] NA         NA         NA         NA         NA         NA        
## [13] NA         "23705970" NA         NA         NA         NA        
## [19] NA         NA         NA         NA         NA         NA        
## [25] NA         NA         NA         NA         "23627966" NA        
## [31] NA         NA         NA         NA         NA         NA        
## [37] NA         NA         NA         NA         NA         NA        
## [43] NA         NA         NA         NA         NA         NA        
## [49] NA         NA         NA
# sort StudentCUNYfirstID & find dupes
# observations 222 & 257 are same student who took same form in 2 courses
# exact same response pattern each time
# observations 258 & 438 are same studnet who took different forms in 2 courses
s19 <- s19[-c(257),] # drop observation 257

check over all variables

apply(s19, MARGIN = 2, table)
## $Sr.no
## 
##   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19  20 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
##  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39  40 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
##  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59  60 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
##  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  76  77  78  79  80 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
##  81  82  83  84  85  86  87  88  89  90  91  92  93  94  95  96  97  98  99 100 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 258 259 260 261 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 
## $course
## 
##      MAT 12-0700      MAT 12-0905      MAT 12-1006      MAT 12-1301 
##                6                5               17                4 
##      MAT 12-1400      MAT 12-1902   MAT 150.5-0804   MAT 150.5-0805 
##                4                6               11                8 
##   MAT 150.5-0807   MAT 150.5-1001   MAT 150.5-1201   MAT 150.5-1403 
##                6               13               13                5 
##   MAT 150.5-1701   MAT 150.5-1800     MAT 206-103W     MAT 206-1100 
##               15                9               15               20 
##     MAT 206-1702     MAT 206-1901   MAT 206.5-0800   MAT 206.5-0901 
##               18                9               17               10 
##   MAT 206.5-1101   MAT 206.5-1301   MAT 206.5-1401   MAT 206.5-1500 
##               14               15               23               19 
##   MAT 206.5-1700   MAT 206.5-1800   MAT 206.5-1803 MAT 206.5 - 1801 
##               12               16               22               14 
##     MAT 209-1701     MAT 214-1000   MAT 214.5-1700     MAT 301-1001 
##               21               28               14               18 
##     MAT 301-1200     MAT 301-120W     MAT 301-1701     MAT 301-172W 
##               15               17               22               16 
##     MAT 301-503W     MAT 301-505W     MAT 302-1300     MAT 302-1700 
##                9                2               14               15 
##     MAT 303-1000     MAT 303-1200     MAT 501-1400      MAT 51-0909 
##                5               18               10                2 
##      MAT 51-1007      MAT 51-1100      MAT 56-0801      Mat 56-0806 
##                6               11               12               19 
##      MAT 56-0811      MAT 56-0900      MAT 56-1700      MAT 56-1701 
##                3                6                5                3 
##      MAT 56-1702      MAT 56-1704      MAT 56-1902      MAT 56-1904 
##                8                6               12                7 
##    MAT 56.5-0800    MAT 56.5-0900    MAT 56.5-1000    MAT 56.5-1201 
##                4                8               11                7 
##    MAT 56.5-1700 
##               15 
## 
## $id
## 
##      12063719      12077127      13050247      13114982      13116577 
##             1             1             1             1             1 
##      13127801      14010902      14016095      14017071      14059175 
##             1             1             1             1             1 
##      14061155      14063280      14086963      14113767      14164978 
##             1             1             1             1             1 
##      14222188      14230828      14232566      15017786      15021738 
##             1             1             1             1             1 
##      15039833      15043806      15059136      15079837      15135445 
##             1             1             1             1             1 
##      15172506      15210816      15213775      15216892      15256924 
##             1             1             1             1             1 
##      15271388      15278584      15296504      15304768      15318498 
##             1             1             1             1             1 
##      15326410      15327104      15345167      15348996      15355558 
##             1             1             1             1             1 
##      15398632      15398949      16153142      20379117 2147023124370 
##             1             1             1             1             1 
##      23008859      23014052      23018974      23020824      23021301 
##             1             1             1             1             1 
##      23024730      23031466      23040405      23047476      23048664 
##             1             1             1             1             1 
##      23058252      23062239      23098418      23099162      23099932 
##             1             1             1             1             1 
##      23101684      23135287      23142691      23151931      23155593 
##             1             1             1             1             1 
##      23160257      23162802      23164700      23172502      23189683 
##             1             1             1             1             1 
##      23204236      23205868      23216299      23222851      23225377 
##             1             1             1             1             1 
##      23227896      23229698      23231211      23234774      23238706 
##             1             1             1             1             1 
##      23239766      23243359      23249597      23249726      23250660 
##             1             1             1             1             1 
##      23254287      23260749      23274422      23295350      23296049 
##             1             1             1             1             1 
##      23296338      23301529      23303870      23304482      23308021 
##             1             1             1             1             1 
##      23327690      23327918      23328562      23355051      23356617 
##             1             1             1             1             1 
##      23361237      23362283      23364886      23366551      23376053 
##             1             1             1             1             1 
##      23376227      23378132      23378631      23383411      23385056 
##             1             1             1             1             1 
##      23391344      23393696      23393699      23394898      23394942 
##             1             1             1             1             1 
##      23397458      23409970      23410209      23416613      23419911 
##             1             1             1             1             1 
##      23421331      23424190      23426489      23426700      23429416 
##             1             1             1             1             1 
##      23432687      23433312      23436790      23439074      23440982 
##             1             1             1             1             1 
##      23442183      23444139      23445461      23445514      23455320 
##             1             1             1             1             1 
##      23455603      23456854      23462632      23465783      23469380 
##             1             1             1             1             1 
##      23469990      23472002      23473854      23474569      23474581 
##             1             1             1             1             1 
##      23475876      23484159      23487447      23498460      23499317 
##             1             1             1             1             1 
##      23505186      23506076      23509344      23512135      23516597 
##             1             1             1             1             1 
##      23517319      23517636      23517664      23519611      23529696 
##             1             1             1             1             1 
##      23532412      23533225      23533551      23536570      23538563 
##             1             1             1             1             1 
##      23540065      23541044      23541134      23542262      23543346 
##             1             1             1             1             1 
##      23543897      23545957      23546387      23546760      23549967 
##             1             1             1             1             1 
##      23550874      23552991      23554259      23555467      23555812 
##             1             1             1             1             1 
##      23555902      23556156      23559275      23561202      23565384 
##             1             1             1             1             1 
##      23566594      23566650      23566915      23568796      23569998 
##             1             1             1             1             1 
##      23572122      23573868      23578376      23578450      23578828 
##             1             1             1             1             1 
##      23579416      23579480      23579606      23581236      23586130 
##             1             1             1             1             1 
##      23587366      23588524      23589043      23589350      23589618 
##             1             1             1             1             1 
##      23590326      23591582      23592851      23592919      23595312 
##             1             1             1             1             1 
##      23597005      23597901      23598394      23599249      23600342 
##             1             1             1             1             1 
##      23600433      23600677      23601006      23603112      23604065 
##             1             1             1             1             1 
##      23604220      23605859      23607295      23608112      23608327 
##             1             1             1             1             1 
##      23608735      23608764      23608939      23610050      23610691 
##             1             1             1             1             1 
##      23610702      23611121      23613657      23613866      23614500 
##             1             1             1             1             1 
##      23614656      23615361      23615433      23615468      23617564 
##             1             1             1             1             1 
##      23618002      23618015      23618674      23618935      23619150 
##             1             1             1             1             1 
##      23619748      23620048      23620755      23623319      23624020 
##             1             1             1             1             1 
##      23624938      23625305      23627966      23629452      23629753 
##             1             1             2             1             1 
##      23630672      23630742      23630745      23632402      23634006 
##             1             1             1             1             1 
##      23634079      23634371      23634417      23634821      23635472 
##             1             1             1             1             1 
##      23637438      23637676      23638629       2364105      23645255 
##             1             1             1             1             1 
##      23646565      23647296      23648349      23648845      23650857 
##             1             1             1             1             1 
##      23650935      23651979      23652469      23654266      23654493 
##             1             1             1             1             1 
##      23655311      23656143      23656285      23658143      23658541 
##             1             1             1             1             1 
##      23658663      23659920      23661606      23661749      23664498 
##             1             1             1             1             1 
##      23664526      23665349      23665471      23666533      23666609 
##             1             1             1             1             1 
##      23667875      23668462      23669403      23669858      23670555 
##             1             1             1             1             1 
##      23670631      23671058      23671819      23673599      23673975 
##             1             1             1             1             1 
##      23674446      23674670      23675985      23676271      23676391 
##             1             1             1             1             1 
##      23676595      23677809      23677814      23678844      23680391 
##             1             1             1             1             1 
##      23681057      23681698      23681873      23682541      23682587 
##             1             1             1             1             1 
##      23682789      23684086      23684771      23685669      23685803 
##             1             1             1             1             1 
##      23687522      23689258      23689665      23689955      23690438 
##             1             1             1             1             1 
##      23690598      23691032      23693326      23695008      23697882 
##             1             1             1             1             1 
##      23697980      23698163      23698227      23698287      23698503 
##             1             1             1             1             1 
##      23698759      23700513      23700695      23701364      23702835 
##             1             1             1             1             1 
##      23703381      23703931      23704428      23705144      23705970 
##             1             1             1             1             1 
##      23706802      23706925      23706960      23706981      23708673 
##             1             1             1             1             1 
##      23709179      23709463      23709503      23710193      23711741 
##             1             1             1             1             1 
##      23711827      23712301      23712371      23712637      23713659 
##             1             1             1             1             1 
##      23714050      23714078      23714428      23714885      23715434 
##             1             1             1             1             1 
##      23716229      23717461      23717549      23720326      23720956 
##             1             1             1             1             1 
##      23721226      23722225      23722546      23725299      23726303 
##             1             1             1             1             1 
##      23726706      23727163      23727631      23728677      23729621 
##             1             1             1             1             1 
##      23731294      23731359      23731727      23732786      23733446 
##             1             1             1             1             1 
##      23734284      23734593      23734752      23734846      23735191 
##             1             1             1             1             1 
##      23735991      23736072      23736119      23736194      23736346 
##             1             1             1             1             1 
##      23737077      23737793      23738461      23738709      23739121 
##             1             1             1             1             1 
##      23739157      23739280      23739447      23741662      23741698 
##             1             1             1             1             1 
##      23741809      23741836      23741930      23741962      23742065 
##             1             1             1             1             1 
##      23742106      23742884      23743488      23743937      23744158 
##             1             1             1             1             1 
##      23744982      23745911      23746352      23746982      23746984 
##             1             1             1             1             1 
##      23747051      23747298      23747731      23747790      23747901 
##             1             1             1             1             1 
##      23747937      23748384      23748463      23748641      23748735 
##             1             1             1             1             1 
##      23749266      23749367      23749632      23749869      23750443 
##             1             1             1             1             1 
##      23756851      23756913      23757588      23759547      23759633 
##             1             1             1             1             1 
##      23760314      23760414      23760789      23762154      23762169 
##             1             1             1             1             1 
##      23762636      23762713      23763084      23763339      23766435 
##             1             1             1             1             1 
##      23766763      23766866      23769990      23771278      23771803 
##             1             1             1             1             1 
##      23772194      23772686      23774077      23775413      23777196 
##             1             1             1             1             1 
##      23779710      23780830      23781821      23782094      23783804 
##             1             1             1             1             1 
##      23784054      23784196      23784924      23785067      23785094 
##             1             1             1             1             1 
##      23786376      23788042      23788333      23788435      23788891 
##             1             1             1             1             1 
##      23789657      23789792      23792225      23792464      23793686 
##             1             1             1             1             1 
##      23794478      23794853      23796760      23796997      23797838 
##             1             1             1             1             1 
##      23798752      23798928      23801676      23802047      23802190 
##             1             1             1             1             1 
##      23802200      23802238      23802454      23803158      23803513 
##             1             1             1             1             1 
##      23804236      23804297      23804629      23804906      23804949 
##             1             1             1             1             1 
##      23804968      23805120      23805474      23806613      23806826 
##             1             1             1             1             1 
##      23810500      23811497      23811625      23812494      23812583 
##             1             1             1             1             1 
##      23812688      23812950      23813049      23813316      23813492 
##             1             1             1             1             1 
##      23813835      23813856      23813953      23814697      23814757 
##             1             1             1             1             1 
##      23814779      23814828      23815298      23815523      23815893 
##             1             1             1             1             1 
##      23816193      23816635      23816659      23817940      23818029 
##             1             1             1             1             1 
##      23818101      23818403      23819394      23820749      23822334 
##             1             1             1             1             1 
##      23823154      23823352      23823772      23823979      23824312 
##             1             1             1             1             1 
##      23824390      23824393      23824602      23825328      23825362 
##             1             1             1             1             1 
##      23825664      23825667      23825770      23825941      23826076 
##             1             1             1             1             1 
##      23826084      23826424      23827472      23827855      23827940 
##             1             1             1             1             1 
##      23828085      23828672      23829153      23830841      23830865 
##             1             1             1             1             1 
##      23831311      23831312      23831319      23831594      23831820 
##             1             1             1             1             1 
##      23832908      23832965      23834075      23834125      23834642 
##             1             1             1             1             1 
##      23834759      23835831      23836023      23836122      23836642 
##             1             1             1             1             1 
##      23836663      23836669      23836757      23837248      23837420 
##             1             1             1             1             1 
##      23837575      23837690      23837710      23837944      23838214 
##             1             1             1             1             1 
##      23838674     238392823      23839365      23839408      23839502 
##             1             1             1             1             1 
##      23840477      23841014      23842103      23842726      23842732 
##             1             1             1             1             1 
##      23843130      23843160      23843259      23843778      23844409 
##             1             1             1             1             1 
##      23844658      23844721      23844802      23844863      23845339 
##             1             1             1             1             1 
##      23846760      23849016      23849523      23849759      23850186 
##             1             1             1             1             1 
##      23851030      23851274      23851414      23852259      23852506 
##             1             1             1             1             1 
##      23852546      23852550      23859512      23860039      23860328 
##             1             1             1             1             1 
##      23861639      23861924      23864021      23867740      23872770 
##             1             1             1             1             1 
##      23874285      23876529      23883827      23884080      23887152 
##             1             1             1             1             1 
##      23889073      23890941      23898838      23900039      23903003 
##             1             1             1             1             1 
##      23904535      23906259      23912383      23918745      23919128 
##             1             1             1             1             1 
##      23921646      23923833      23925150      23926966      23927243 
##             1             1             1             1             1 
##      23928813      23928836      23930831      23932100      23932361 
##             1             1             1             1             1 
##      23933579      23943361      23943465      23945144      24447244 
##             1             1             1             1             1 
##      28604256       3786858      76128200       7657438 
##             1             1             1             1 
## 
## $Form
## 
##   A  A    b   B   C   D 
## 182   1   1 177 180 174 
## 
## $Q1
## 
##       a  a    b   c   d   e 
##   4 333   1 338  28   9   2 
## 
## $Q2
## 
##           a   a|b   a|c     b     c    c  c | d     d 
##     4   204     1     1   329   167     1     1     7 
## 
## $Q3
## 
##           a    a  a | c   a|c     b     c     d     v 
##     3   233     1     1     1   204   116   155     1 
## 
## $Q4
## 
##       a a|c   b   c   d 
##   4 500   1  29 176   5 
## 
## $Q5
## 
##       a   b   c   d 
##   3 190  22 484  16 
## 
## $Q6
## 
##       a   b   c   d   e 
##  18 194 229 265   7   2 
## 
## $Q7
## 
##       a   b   c c|e   d   e 
##   4 498  44 157   1   8   3 
## 
## $Q8
## 
##       a  a    b   c   d 
##   7 273   1 307 121   6 
## 
## $Q9
## 
##       a a|d   b   c   d   e 
##   8 201   1  41 297 155  12 
## 
## $Q10
## 
##       a   b   c c|d   d   e 
##   6 195  26 197   1 289   1 
## 
## $Q11
## 
##       a   b   c c|d   d 
##  11 166 139 238   1 160 
## 
## $Q12
## 
##       a   b   c   d   e 
##  12 222 172 166 140   3 
## 
## $Q13
## 
##       a a|c   b  b    c c|d   d   e 
##  19  31   1  50   3  96   1  45 469 
## 
## $Q14
## 
##       a   b   c   d   e 
##  14  98  72 484  29  18 
## 
## $Q15
## 
##       a a|b   b   c   d   e 
##  19 350   1 154  58  87  46 
## 
## $Q16
## 
##       a   b   c   d   e 
##  11  28 601  43  23   9 
## 
## $Q17
## 
##           a     b     c    c  c | d     d     e 
##    26    47   421   117     1     1    56    46 
## 
## $Q18
## 
##       a   b   c   d   e 
##  15  46  34 522  88  10 
## 
## $Q19
## 
##       a   b   c   d   e 
##  19  73 117  91  90 325 
## 
## $Q20
## 
##       a   b   c c|e   d   e 
##  20  43  48  43   1  48 512 
## 
## $Q21
## 
##       a   b b|d   c   d   e 
##  20  17  54   1  44 563  16 
## 
## $Q22
## 
##       a   b   c c|e   d   e 
##  19 117 401 121   1  51   5
# fix mislabeled forms
s19$Form[s19$Form == 'A '] <- 'A'
s19$Form[s19$Form == 'b' ] <- 'B'
# fix mislabeled item responses
s19[,4:25][s19[,4:25] == 'a '] <- 'a'
s19[,4:25][s19[,4:25] == 'b '] <- 'b'
s19[,4:25][s19[,4:25] == 'c '] <- 'c'
s19[,4:25][s19[,4:25] == 'd '] <- 'd'
s19[,4:25][s19[,4:25] == 'e '] <- 'e'
# double check that everything's correct
apply(s19, MARGIN = 2, unique)
## $Sr.no
##   [1] "  1" "  2" "  3" "  4" "  5" "  6" "  7" "  8" "  9" " 10" " 11" " 12"
##  [13] " 13" " 14" " 15" " 16" " 17" " 18" " 19" " 20" " 21" " 22" " 23" " 24"
##  [25] " 25" " 26" " 27" " 28" " 29" " 30" " 31" " 32" " 33" " 34" " 35" " 36"
##  [37] " 37" " 38" " 39" " 40" " 41" " 42" " 43" " 44" " 45" " 46" " 47" " 48"
##  [49] " 49" " 50" " 51" " 52" " 53" " 54" " 55" " 56" " 57" " 58" " 59" " 60"
##  [61] " 61" " 62" " 63" " 64" " 65" " 66" " 67" " 68" " 69" " 70" " 71" " 72"
##  [73] " 73" " 74" " 75" " 76" " 77" " 78" " 79" " 80" " 81" " 82" " 83" " 84"
##  [85] " 85" " 86" " 87" " 88" " 89" " 90" " 91" " 92" " 93" " 94" " 95" " 96"
##  [97] " 97" " 98" " 99" "100" "101" "102" "103" "104" "105" "106" "107" "108"
## [109] "109" "110" "111" "112" "113" "114" "115" "116" "117" "118" "119" "120"
## [121] "121" "122" "123" "124" "125" "126" "127" "128" "129" "130" "131" "132"
## [133] "133" "134" "135" "136" "137" "138" "139" "140" "141" "142" "143" "144"
## [145] "145" "146" "147" "148" "149" "150" "151" "152" "153" "154" "155" "156"
## [157] "157" "158" "159" "160" "161" "162" "163" "164" "165" "166" "167" "168"
## [169] "169" "170" "171" "172" "173" "174" "175" "176" "177" "178" "179" "180"
## [181] "181" "182" "183" "184" "185" "186" "187" "188" "189" "190" "191" "192"
## [193] "193" "194" "195" "196" "197" "198" "199" "200" "201" "202" "203" "204"
## [205] "205" "206" "207" "208" "209" "210" "211" "212" "213" "214" "215" "216"
## [217] "217" "218" "219" "220" "221" "222" "223" "224" "225" "226" "227" "228"
## [229] "229" "230" "231" "232" "233" "234" "235" "236" "237" "238" "239" "240"
## [241] "241" "242" "243" "244" "245" "246" "247" "248" "249" "250" "251" "252"
## [253] "253" "254" "255" "256" "258" "259" "260" "261" "262" "263" "264" "265"
## [265] "266" "267" "268" "269" "270" "271" "272" "273" "274" "275" "276" "277"
## [277] "278" "279" "280" "281" "282" "283" "284" "285" "286" "287" "288" "289"
## [289] "290" "291" "292" "293" "294" "295" "296" "297" "298" "299" "300" "301"
## [301] "302" "303" "304" "305" "306" "307" "308" "309" "310" "311" "312" "313"
## [313] "314" "315" "316" "317" "318" "319" "320" "321" "322" "323" "324" "325"
## [325] "326" "327" "328" "329" "330" "331" "332" "333" "334" "335" "336" "337"
## [337] "338" "339" "340" "341" "342" "343" "344" "345" "346" "347" "348" "349"
## [349] "350" "351" "352" "353" "354" "355" "356" "357" "358" "359" "360" "361"
## [361] "362" "363" "364" "365" "366" "367" "368" "369" "370" "371" "372" "373"
## [373] "374" "375" "376" "377" "378" "379" "380" "381" "382" "383" "384" "385"
## [385] "386" "387" "388" "389" "390" "391" "392" "393" "394" "395" "396" "397"
## [397] "398" "399" "400" "401" "402" "403" "404" "405" "406" "407" "408" "409"
## [409] "410" "411" "412" "413" "414" "415" "416" "417" "418" "419" "420" "421"
## [421] "422" "423" "424" "425" "426" "427" "428" "429" "430" "431" "432" "433"
## [433] "434" "435" "436" "437" "438" "439" "440" "441" "442" "443" "444" "445"
## [445] "446" "447" "448" "449" "450" "451" "452" "453" "454" "455" "456" "457"
## [457] "458" "459" "460" "461" "462" "463" "464" "465" "466" "467" "468" "469"
## [469] "470" "471" "472" "473" "474" "475" "476" "477" "478" "479" "480" "481"
## [481] "482" "483" "484" "485" "486" "487" "488" "489" "490" "491" "492" "493"
## [493] "494" "495" "496" "497" "498" "499" "500" "501" "502" "503" "504" "505"
## [505] "506" "507" "508" "509" "510" "511" "512" "513" "514" "515" "516" "517"
## [517] "518" "519" "520" "521" "522" "523" "524" "525" "526" "527" "528" "529"
## [529] "530" "531" "532" "533" "534" "535" "536" "537" "538" "539" "540" "541"
## [541] "542" "543" "544" "545" "546" "547" "548" "549" "550" "551" "552" "553"
## [553] "554" "555" "556" "557" "558" "559" "560" "561" "562" "563" "564" "565"
## [565] "566" "567" "568" "569" "570" "571" "572" "573" "574" "575" "576" "577"
## [577] "578" "579" "580" "581" "582" "583" "584" "585" "586" "587" "588" "589"
## [589] "590" "591" "592" "593" "594" "595" "596" "597" "598" "599" "600" "601"
## [601] "602" "603" "604" "605" "606" "607" "608" "609" "610" "611" "612" "613"
## [613] "614" "615" "616" "617" "618" "619" "620" "621" "622" "623" "624" "625"
## [625] "626" "627" "628" "629" "630" "631" "632" "633" "634" "635" "636" "637"
## [637] "638" "639" "640" "641" "642" "643" "644" "645" "646" "647" "648" "649"
## [649] "650" "651" "652" "653" "654" "655" "656" "657" "658" "659" "660" "661"
## [661] "662" "663" "664" "665" "666" "667" "668" "669" "670" "671" "672" "673"
## [673] "674" "675" "676" "677" "678" "679" "680" "681" "682" "683" "684" "685"
## [685] "686" "687" "688" "689" "690" "691" "692" "693" "694" "695" "696" "697"
## [697] "698" "699" "700" "701" "702" "703" "704" "705" "706" "707" "708" "709"
## [709] "710" "711" "712" "713" "714" "715" "716"
## 
## $course
##  [1] "MAT 206-103W"     "MAT 51-1100"      "MAT 206-1901"     "MAT 206.5-0800"  
##  [5] "MAT 206.5-1500"   "MAT 56-1902"      "MAT 51-0909"      "MAT 56-0900"     
##  [9] "MAT 302-1300"     "MAT 56-1704"      "MAT 150.5-1403"   "MAT 150.5-0804"  
## [13] "MAT 56.5-0900"    "MAT 56.5-1201"    "MAT 150.5-1201"   "Mat 56-0806"     
## [17] "MAT 12-1006"      "MAT 206.5-1700"   "MAT 12-1902"      "MAT 209-1701"    
## [21] "MAT 51-1007"      "MAT 56-0801"      "MAT 303-1200"     "MAT 301-172W"    
## [25] "MAT 302-1700"     "MAT 301-120W"     "MAT 56-1701"      "MAT 150.5-0805"  
## [29] "MAT 214.5-1700"   "MAT 150.5-1001"   "MAT 214-1000"     "MAT 56-1700"     
## [33] "MAT 150.5-0807"   "MAT 206.5-1101"   "MAT 301-1701"     "MAT 501-1400"    
## [37] "MAT 303-1000"     "MAT 206-1702"     "MAT 206.5-1803"   "MAT 150.5-1701"  
## [41] "MAT 56-1904"      "MAT 56.5-1700"    "MAT 301-503W"     "MAT 206.5-1301"  
## [45] "MAT 206.5-1800"   "MAT 301-1200"     "MAT 12-1301"      "MAT 301-1001"    
## [49] "MAT 206.5 - 1801" "MAT 12-0905"      "MAT 56.5-1000"    "MAT 150.5-1800"  
## [53] "MAT 206.5-1401"   "MAT 56-1702"      "MAT 12-1400"      "MAT 206.5-0901"  
## [57] "MAT 206-1100"     "MAT 12-0700"      "MAT 301-505W"     "MAT 56-0811"     
## [61] "MAT 56.5-0800"   
## 
## $id
##   [1] "23837248"      "23661749"      "23383411"      "23756851"     
##   [5] "23698227"      "23802238"      "23742106"      "23541134"     
##   [9] "23410209"      "23796997"      NA              "23844409"     
##  [13] "23737793"      "23738461"      "23918745"      "23659920"     
##  [17] "23860328"      "23804236"      "23771803"      "23378132"     
##  [21] "23784924"      "23804629"      "23516597"      "23673599"     
##  [25] "23499317"      "23762169"      "23844721"      "23598394"     
##  [29] "23687522"      "23589350"      "23822334"      "23455320"     
##  [33] "23647296"      "23697882"      "23613866"      "23816659"     
##  [37] "23760414"      "23876529"      "23700695"      "23635472"     
##  [41] "23552991"      "15216892"      "23834075"      "12077127"     
##  [45] "23664498"      "23542262"      "15348996"      "23852259"     
##  [49] "23816635"      "15213775"      "23746984"      "23824393"     
##  [53] "23021301"      "23706981"      "23648845"      "23883827"     
##  [57] "23811497"      "23843259"      "23742065"      "23720956"     
##  [61] "23671819"      "23536570"      "23842103"      "23849759"     
##  [65] "23789657"      "23810500"      "23610050"      "23519611"     
##  [69] "14086963"      "23614500"      "23216299"      "23884080"     
##  [73] "23843130"      "23774077"      "23784054"      "23779710"     
##  [77] "23655311"      "23842726"      "23601006"      "2147023124370"
##  [81] "23890941"      "23243359"      "23749266"      "23814697"     
##  [85] "23394898"      "2364105"       "23823979"      "23676391"     
##  [89] "23684771"      "23825667"      "23579606"      "23308021"     
##  [93] "23689665"      "23750443"      "23823154"      "23540065"     
##  [97] "23674670"      "23705144"      "23741962"      "23549967"     
## [101] "23851414"      "23677814"      "23062239"      "23762713"     
## [105] "23820749"      "23442183"      "23762154"      "23669403"     
## [109] "23831312"      "23849016"      "23546760"      "23801676"     
## [113] "23741698"      "23816193"      "23872770"      "23578376"     
## [117] "23802454"      "23784196"      "23726706"      "23861924"     
## [121] "15326410"      "14113767"      "23592919"      "15304768"     
## [125] "23615361"      "23600677"      "23797838"      "23859512"     
## [129] "23634006"      "23142691"      "23231211"      "23714428"     
## [133] "23462632"      "23943465"      "23834759"      "23617564"     
## [137] "23578450"      "23805474"      "23561202"      "23589043"     
## [141] "23608939"      "23743937"      "23205868"      "23788042"     
## [145] "23736194"      "14063280"      "23249597"      "14016095"     
## [149] "23769990"      "23785067"      "23812688"      "23517319"     
## [153] "23737077"      "23685803"      "23782094"      "23648349"     
## [157] "15318498"      "3786858"       "23803513"      "23608764"     
## [161] "23824390"      "23874285"      "23721226"      "23825664"     
## [165] "23903003"      "23676595"      "23838214"      "23487447"     
## [169] "13127801"      "23455603"      "23837690"      "23419911"     
## [173] "23579416"      "23813856"      "23689258"      "23605859"     
## [177] "23656143"      "23792225"      "23624020"      "238392823"    
## [181] "23630745"      "23474581"      "23630672"      "23852550"     
## [185] "23301529"      "23703931"      "23327690"      "23831319"     
## [189] "23834642"      "23757588"      "23681057"      "23018974"     
## [193] "23852506"      "23746352"      "13116577"      "23239766"     
## [197] "23844802"      "23048664"      "23898838"      "14222188"     
## [201] "23588524"      "23760314"      "23634079"      "23624938"     
## [205] "23708673"      "23698163"      "23517664"      "23827472"     
## [209] "23579480"      "23705970"      "23376227"      "23099162"     
## [213] "23155593"      "23706802"      "23361237"      "23906259"     
## [217] "16153142"      "23620755"      "15210816"      "14010902"     
## [221] "23841014"      "15296504"      "15059136"      "23225377"     
## [225] "23766763"      "23664526"      "23693326"      "23565384"     
## [229] "23505186"      "15327104"      "23429416"      "23554259"     
## [233] "23099932"      "23860039"      "23666533"      "15398632"     
## [237] "23440982"      "23426700"      "23416613"      "23472002"     
## [241] "23047476"      "23260749"      "23568796"      "23627966"     
## [245] "23469990"      "23747051"      "23566594"      "23475876"     
## [249] "23151931"      "23836757"      "20379117"      "23512135"     
## [253] "23700513"      "23578828"      "23629452"      "23595312"     
## [257] "23706960"      "14232566"      "23637438"      "23469380"     
## [261] "23739280"      "23101684"      "23098418"      "23717549"     
## [265] "23378631"      "23599249"      "23432687"      "76128200"     
## [269] "23250660"      "23591582"      "23529696"      "23634417"     
## [273] "23550874"      "23532412"      "23162802"      "23674446"     
## [277] "23748641"      "23637676"      "23697980"      "23546387"     
## [281] "23020824"      "23618935"      "23509344"      "23749632"     
## [285] "23652469"      "23436790"      "23397458"      "23619748"     
## [289] "23731294"      "23720326"      "23709179"      "23748384"     
## [293] "23424190"      "23825362"      "23738709"      "23830865"     
## [297] "23742884"      "23804297"      "23823352"      "23533551"     
## [301] "23611121"      "23445461"      "14061155"      "23831594"     
## [305] "23867740"      "23656285"      "23541044"      "23698759"     
## [309] "23792464"      "23804968"      "23604065"      "23839365"     
## [313] "23058252"      "23031466"      "23796760"      "23654266"     
## [317] "23736346"      "23625305"      "23651979"      "23788891"     
## [321] "23484159"      "23731359"      "23327918"      "23771278"     
## [325] "23728677"      "23556156"      "23830841"      "23811625"     
## [329] "23789792"      "23409970"      "23733446"      "23573868"     
## [333] "23555902"      "14059175"      "23788435"      "23658143"     
## [337] "23393699"      "23710193"      "23543346"      "23680391"     
## [341] "23295350"      "23831311"      "23798752"      "23517636"     
## [345] "23698287"      "23714078"      "23303870"      "23559275"     
## [349] "23376053"      "23135287"      "23780830"      "23587366"     
## [353] "23665349"      "23676271"      "23900039"      "23701364"     
## [357] "23608112"      "23364886"      "23714050"      "23589618"     
## [361] "23766435"      "23741809"      "23813492"      "23538563"     
## [365] "23717461"      "23887152"      "23729621"      "23851030"     
## [369] "23658663"      "23756913"      "23843778"      "23739121"     
## [373] "23456854"      "23835831"      "23837710"      "23850186"     
## [377] "23227896"      "23785094"      "23831820"      "23421331"     
## [381] "23249726"      "23650935"      "23673975"      "23682541"     
## [385] "23813835"      "23836669"      "23745911"      "15398949"     
## [389] "23677809"      "23678844"      "15172506"      "15135445"     
## [393] "23731727"      "23604220"      "23749367"      "23727163"     
## [397] "23736072"      "23274422"      "23620048"      "23691032"     
## [401] "23734593"      "23684086"      "23681698"      "23690438"     
## [405] "15021738"      "23646565"      "14164978"      "24447244"     
## [409] "23823772"      "23759633"      "13114982"      "23645255"     
## [413] "23706925"      "23827855"      "15079837"      "23506076"     
## [417] "28604256"      "23783804"      "23385056"      "23786376"     
## [421] "23829153"      "23172502"      "23836122"      "23794853"     
## [425] "23726303"      "23815298"      "23744158"      "23746982"     
## [429] "23819394"      "23747731"      "23608735"      "15278584"     
## [433] "23600342"      "23304482"      "23763339"      "23864021"     
## [437] "23889073"      "23826424"      "23945144"      "23802200"     
## [441] "23366551"      "23704428"      "23473854"      "23433312"     
## [445] "23650857"      "23698503"      "23465783"      "23008859"     
## [449] "23813049"      "23716229"      "23689955"      "23926966"     
## [453] "23545957"      "23618002"      "15017786"      "23836023"     
## [457] "23685669"      "23812583"      "23610702"      "23024730"     
## [461] "23533225"      "23928813"      "23813316"      "23160257"     
## [465] "12063719"      "23760789"      "23164700"      "23772194"     
## [469] "23229698"      "23839502"      "23722225"      "23615433"     
## [473] "23714885"      "23852546"      "23355051"      "23671058"     
## [477] "23748463"      "23204236"      "23839408"      "23614656"     
## [481] "23543897"      "23703381"      "13050247"      "23566915"     
## [485] "23638629"      "23712371"      "15043806"      "23597901"     
## [489] "23498460"      "23933579"      "23722546"      "23747298"     
## [493] "23668462"      "23682789"      "23825770"      "23828085"     
## [497] "23930831"      "23836663"      "23825328"      "23923833"     
## [501] "23394942"      "23921646"      "23861639"      "15355558"     
## [505] "23682587"      "23818029"      "23743488"      "23712637"     
## [509] "23658541"      "23843160"      "23600433"      "23613657"     
## [513] "23623319"      "23741836"      "14230828"      "23712301"     
## [517] "23736119"      "23851274"      "23296049"      "23444139"     
## [521] "23932100"      "23838674"      "23828672"      "23690598"     
## [525] "23607295"      "23732786"      "23702835"      "23597005"     
## [529] "23840477"      "23812950"      "23741930"      "23849523"     
## [533] "23837944"      "23670555"      "23804949"      "23832908"     
## [537] "23254287"      "23356617"      "23798928"      "23695008"     
## [541] "23715434"      "23735191"      "23569998"      "23661606"     
## [545] "23748735"      "23749869"      "23832965"      "23812494"     
## [549] "23618015"      "23813953"      "23772686"      "23618674"     
## [553] "23806613"      "23222851"      "23734846"      "23825941"     
## [557] "23675985"      "23328562"      "23619150"      "23741662"     
## [561] "23629753"      "23747937"      "23665471"      "15345167"     
## [565] "23793686"      "23234774"      "23581236"      "23445514"     
## [569] "23296338"      "15039833"      "23844863"      "23666609"     
## [573] "23681873"      "23615468"      "23775413"      "23426489"     
## [577] "23925150"      "23630742"      "23189683"      "23670631"     
## [581] "23814828"      "23845339"      "15271388"      "23669858"     
## [585] "23842732"      "23362283"      "23802047"      "23818403"     
## [589] "23610691"      "23803158"      "23814757"      "23709503"     
## [593] "23555467"      "23735991"      "23725299"      "7657438"      
## [597] "23238706"      "23709463"      "23826076"      "23739447"     
## [601] "23824602"      "23590326"      "23744982"      "23654493"     
## [605] "23763084"      "23603112"      "23818101"      "23586130"     
## [609] "23439074"      "14017071"      "23634821"      "23555812"     
## [613] "23040405"      "23817940"      "23826084"      "23846760"     
## [617] "23815893"      "23919128"      "23804906"      "23805120"     
## [621] "23932361"      "23711827"      "23713659"      "23927243"     
## [625] "23727631"      "23912383"      "23827940"      "23834125"     
## [629] "23747901"      "23928836"      "15256924"      "23592851"     
## [633] "23711741"      "23904535"      "23474569"      "23566650"     
## [637] "23759547"      "23824312"      "23393696"      "23837420"     
## [641] "23572122"      "23802190"      "23815523"      "23762636"     
## [645] "23794478"      "23781821"      "23788333"      "23634371"     
## [649] "23806826"      "23836642"      "23391344"      "23943361"     
## [653] "23777196"      "23739157"      "23837575"      "23608327"     
## [657] "23014052"      "23844658"      "23667875"      "23734284"     
## [661] "23747790"      "23734752"      "23766866"      "23632402"     
## [665] "23814779"     
## 
## $Form
## [1] "A" "C" "D" "B"
## 
## $Q1
## [1] "a" "d" "b" "c" "e" "" 
## 
## $Q2
## [1] "b"     "d"     "c"     "a"     ""      "a|c"   "c | d" "a|b"  
## 
## $Q3
## [1] "d"     "c"     "a"     "b"     "a | c" ""      "a|c"   "v"    
## 
## $Q4
## [1] "a"   "c"   "b"   "d"   ""    "a|c"
## 
## $Q5
## [1] "c" "d" "a" "b" "" 
## 
## $Q6
## [1] "b" "a" "c" ""  "d" "e"
## 
## $Q7
## [1] "a"   "c"   "b"   "e"   "d"   ""    "c|e"
## 
## $Q8
## [1] "c" "b" "d" "a" "" 
## 
## $Q9
## [1] "d"   "e"   "c"   "a"   "b"   ""    "a|d"
## 
## $Q10
## [1] "a"   "d"   "c"   "b"   "e"   ""    "c|d"
## 
## $Q11
## [1] "d"   "a"   "c"   "b"   ""    "c|d"
## 
## $Q12
## [1] "b" "d" "a" "c" ""  "e"
## 
## $Q13
## [1] "e"   ""    "d"   "c"   "a"   "b"   "a|c" "c|d"
## 
## $Q14
## [1] "c" "a" "b" "d" "e" "" 
## 
## $Q15
## [1] "a"   "c"   "e"   "b"   "d"   ""    "a|b"
## 
## $Q16
## [1] "b" "c" "d" "e" ""  "a"
## 
## $Q17
## [1] "b"     "e"     ""      "d"     "a"     "c"     "c | d"
## 
## $Q18
## [1] "c" "d" ""  "a" "b" "e"
## 
## $Q19
## [1] "e" ""  "b" "c" "a" "d"
## 
## $Q20
## [1] "e"   "c"   "d"   "b"   ""    "a"   "c|e"
## 
## $Q21
## [1] "d"   "e"   ""    "c"   "b"   "a"   "b|d"
## 
## $Q22
## [1] "b"   "a"   ""    "c"   "d"   "e"   "c|e"

score items

s19$q1[s19$Form == 'A' & s19$Q1 == 'a'] <- 1
s19$q1[s19$Form == 'A' & s19$Q1 != 'a'] <- 0
s19$q1[s19$Form == 'A' & s19$Q1 == '' ] <- NA
s19$q1[s19$Form == 'C' & s19$Q1 == 'b'] <- 1
s19$q1[s19$Form == 'C' & s19$Q1 != 'b'] <- 0
s19$q1[s19$Form == 'C' & s19$Q1 == '' ] <- NA

s19$q2[s19$Form == 'B' & s19$Q1 == 'b'] <- 1
s19$q2[s19$Form == 'B' & s19$Q1 != 'b'] <- 0
s19$q2[s19$Form == 'B' & s19$Q1 == '' ] <- NA
s19$q2[s19$Form == 'D' & s19$Q1 == 'a'] <- 1
s19$q2[s19$Form == 'D' & s19$Q1 != 'a'] <- 0
s19$q2[s19$Form == 'D' & s19$Q1 == '' ] <- NA

s19$q3[s19$Form == 'A' & s19$Q2 == 'b'] <- 1
s19$q3[s19$Form == 'A' & s19$Q2 != 'b'] <- 0
s19$q3[s19$Form == 'A' & s19$Q2 == '' ] <- NA
s19$q3[s19$Form == 'C' & s19$Q2 == 'a'] <- 1
s19$q3[s19$Form == 'C' & s19$Q2 != 'a'] <- 0
s19$q3[s19$Form == 'C' & s19$Q2 == '' ] <- NA

s19$q4[s19$Form == 'B' & s19$Q2 == 'c'] <- 1
s19$q4[s19$Form == 'B' & s19$Q2 != 'c'] <- 0
s19$q4[s19$Form == 'B' & s19$Q2 == '' ] <- NA
s19$q4[s19$Form == 'D' & s19$Q2 == 'b'] <- 1
s19$q4[s19$Form == 'D' & s19$Q2 != 'b'] <- 0
s19$q4[s19$Form == 'D' & s19$Q2 == '' ] <- NA

s19$q5[s19$Form == 'A' & s19$Q3 == 'd'] <- 1
s19$q5[s19$Form == 'A' & s19$Q3 != 'd'] <- 0
s19$q5[s19$Form == 'B' & s19$Q3 == '' ] <- NA
s19$q5[s19$Form == 'C' & s19$Q3 == 'b'] <- 1
s19$q5[s19$Form == 'C' & s19$Q3 != 'b'] <- 0
s19$q5[s19$Form == 'C' & s19$Q3 == '' ] <- NA

s19$q6[s19$Form == 'B' & s19$Q3 == 'a'] <- 1
s19$q6[s19$Form == 'B' & s19$Q3 != 'a'] <- 0
s19$q6[s19$Form == 'B' & s19$Q3 == '' ] <- NA
s19$q6[s19$Form == 'D' & s19$Q3 == 'c'] <- 1
s19$q6[s19$Form == 'D' & s19$Q3 != 'c'] <- 0
s19$q6[s19$Form == 'D' & s19$Q3 == '' ] <- NA

s19$q7[s19$Form == 'A' & s19$Q4 == 'a'] <- 1
s19$q7[s19$Form == 'A' & s19$Q4 != 'a'] <- 0
s19$q7[s19$Form == 'A' & s19$Q4 == '' ] <- NA
s19$q7[s19$Form == 'C' & s19$Q4 == 'a'] <- 1
s19$q7[s19$Form == 'C' & s19$Q4 != 'a'] <- 0
s19$q7[s19$Form == 'C' & s19$Q3 == '' ] <- NA

s19$q8[s19$Form == 'B' & s19$Q4 == 'c'] <- 1
s19$q8[s19$Form == 'B' & s19$Q4 != 'c'] <- 0
s19$q8[s19$Form == 'B' & s19$Q4 == '' ] <- NA
s19$q8[s19$Form == 'D' & s19$Q4 == 'a'] <- 1
s19$q8[s19$Form == 'D' & s19$Q4 != 'a'] <- 0
s19$q8[s19$Form == 'D' & s19$Q4 == '' ] <- NA

s19$q9[s19$Form == 'A' & s19$Q5 == 'c'] <- 1
s19$q9[s19$Form == 'A' & s19$Q5 != 'c'] <- 0
s19$q9[s19$Form == 'A' & s19$Q5 == '' ] <- NA
s19$q9[s19$Form == 'C' & s19$Q5 == 'c'] <- 1
s19$q9[s19$Form == 'C' & s19$Q5 != 'c'] <- 0
s19$q9[s19$Form == 'C' & s19$Q5 == '' ] <- NA

s19$q10[s19$Form == 'B' & s19$Q5 == 'a'] <- 1
s19$q10[s19$Form == 'B' & s19$Q5 != 'a'] <- 0
s19$q10[s19$Form == 'B' & s19$Q5 == '' ] <- NA
s19$q10[s19$Form == 'D' & s19$Q5 == 'c'] <- 1
s19$q10[s19$Form == 'D' & s19$Q5 != 'c'] <- 0
s19$q10[s19$Form == 'D' & s19$Q3 == '' ] <- NA

s19$q11[s19$Form == 'A' & s19$Q6 == 'b'] <- 1
s19$q11[s19$Form == 'A' & s19$Q6 != 'b'] <- 0
s19$q11[s19$Form == 'A' & s19$Q6 == '' ] <- NA
s19$q11[s19$Form == 'C' & s19$Q6 == 'c'] <- 1
s19$q11[s19$Form == 'C' & s19$Q6 != 'c'] <- 0
s19$q11[s19$Form == 'C' & s19$Q6 == '' ] <- NA

s19$q12[s19$Form == 'B' & s19$Q6 == 'c'] <- 1
s19$q12[s19$Form == 'B' & s19$Q6 != 'c'] <- 0
s19$q12[s19$Form == 'B' & s19$Q6 == '' ] <- NA
s19$q12[s19$Form == 'D' & s19$Q6 == 'a'] <- 1
s19$q12[s19$Form == 'D' & s19$Q6 != 'a'] <- 0
s19$q12[s19$Form == 'D' & s19$Q6 == '' ] <- NA

s19$q13[s19$Form == 'A' & s19$Q7 == 'a'] <- 1
s19$q13[s19$Form == 'A' & s19$Q7 != 'a'] <- 0
s19$q13[s19$Form == 'A' & s19$Q7 == '' ] <- NA
s19$q13[s19$Form == 'D' & s19$Q7 == 'c'] <- 1
s19$q13[s19$Form == 'D' & s19$Q7 != 'c'] <- 0
s19$q13[s19$Form == 'D' & s19$Q7 == '' ] <- NA

s19$q14[s19$Form == 'B' & s19$Q7 == 'a'] <- 1
s19$q14[s19$Form == 'B' & s19$Q7 != 'a'] <- 0
s19$q14[s19$Form == 'B' & s19$Q7 == '' ] <- NA
s19$q14[s19$Form == 'C' & s19$Q7 == 'a'] <- 1
s19$q14[s19$Form == 'C' & s19$Q7 != 'a'] <- 0
s19$q14[s19$Form == 'C' & s19$Q7 == '' ] <- NA

s19$q15[s19$Form == 'A' & s19$Q8 == 'c'] <- 1
s19$q15[s19$Form == 'A' & s19$Q8 != 'c'] <- 0
s19$q15[s19$Form == 'A' & s19$Q8 == '' ] <- NA
s19$q15[s19$Form == 'D' & s19$Q8 == 'b'] <- 1
s19$q15[s19$Form == 'D' & s19$Q8 != 'b'] <- 0
s19$q15[s19$Form == 'D' & s19$Q8 == '' ] <- NA

s19$q16[s19$Form == 'B' & s19$Q8 == 'a'] <- 1
s19$q16[s19$Form == 'B' & s19$Q8 != 'a'] <- 0
s19$q16[s19$Form == 'B' & s19$Q8 == '' ] <- NA
s19$q16[s19$Form == 'C' & s19$Q8 == 'b'] <- 1
s19$q16[s19$Form == 'C' & s19$Q8 != 'b'] <- 0
s19$q16[s19$Form == 'C' & s19$Q8 == '' ] <- NA

s19$q17[s19$Form == 'A' & s19$Q9 == 'd'] <- 1
s19$q17[s19$Form == 'A' & s19$Q9 != 'd'] <- 0
s19$q17[s19$Form == 'A' & s19$Q9 == '' ] <- NA
s19$q17[s19$Form == 'D' & s19$Q9 == 'c'] <- 1
s19$q17[s19$Form == 'D' & s19$Q9 != 'c'] <- 0
s19$q17[s19$Form == 'D' & s19$Q9 == '' ] <- NA

s19$q18[s19$Form == 'B' & s19$Q9 == 'c'] <- 1
s19$q18[s19$Form == 'B' & s19$Q9 != 'c'] <- 0
s19$q18[s19$Form == 'B' & s19$Q9 == '' ] <- NA
s19$q18[s19$Form == 'C' & s19$Q9 == 'a'] <- 1
s19$q18[s19$Form == 'C' & s19$Q9 != 'a'] <- 0
s19$q18[s19$Form == 'C' & s19$Q9 == '' ] <- NA

s19$q19[s19$Form == 'A' & s19$Q10 == 'a'] <- 1
s19$q19[s19$Form == 'A' & s19$Q10 != 'a'] <- 0
s19$q19[s19$Form == 'A' & s19$Q10 == '' ] <- NA
s19$q19[s19$Form == 'D' & s19$Q10 == 'd'] <- 1
s19$q19[s19$Form == 'D' & s19$Q10 != 'd'] <- 0
s19$q19[s19$Form == 'D' & s19$Q10 == '' ] <- NA

s19$q20[s19$Form == 'B' & s19$Q10 == 'd'] <- 1
s19$q20[s19$Form == 'B' & s19$Q10 != 'd'] <- 0
s19$q20[s19$Form == 'B' & s19$Q10 == '' ] <- NA
s19$q20[s19$Form == 'C' & s19$Q10 == 'c'] <- 1
s19$q20[s19$Form == 'C' & s19$Q10 != 'c'] <- 0
s19$q20[s19$Form == 'C' & s19$Q10 == '' ] <- NA

s19$q21[s19$Form == 'A' & s19$Q11 == 'd'] <- 1
s19$q21[s19$Form == 'A' & s19$Q11 != 'd'] <- 0
s19$q21[s19$Form == 'A' & s19$Q11 == '' ] <- NA
s19$q21[s19$Form == 'D' & s19$Q11 == 'c'] <- 1
s19$q21[s19$Form == 'D' & s19$Q11 != 'c'] <- 0
s19$q21[s19$Form == 'D' & s19$Q11 == '' ] <- NA

s19$q22[s19$Form == 'B' & s19$Q11 == 'c'] <- 1
s19$q22[s19$Form == 'B' & s19$Q11 != 'c'] <- 0
s19$q22[s19$Form == 'B' & s19$Q11 == '' ] <- NA
s19$q22[s19$Form == 'C' & s19$Q11 == 'b'] <- 1
s19$q22[s19$Form == 'C' & s19$Q11 != 'b'] <- 0
s19$q22[s19$Form == 'C' & s19$Q11 == '' ] <- NA

s19$q23[s19$Form == 'A' & s19$Q12 == 'b'] <- 1
s19$q23[s19$Form == 'A' & s19$Q12 != 'b'] <- 0
s19$q23[s19$Form == 'A' & s19$Q12 == '' ] <- NA
s19$q23[s19$Form == 'D' & s19$Q12 == 'a'] <- 1
s19$q23[s19$Form == 'D' & s19$Q12 != 'a'] <- 0
s19$q23[s19$Form == 'D' & s19$Q12 == '' ] <- NA

s19$q24[s19$Form == 'B' & s19$Q12 == 'c'] <- 1
s19$q24[s19$Form == 'B' & s19$Q12 != 'c'] <- 0
s19$q24[s19$Form == 'B' & s19$Q12 == '' ] <- NA
s19$q24[s19$Form == 'C' & s19$Q12 == 'd'] <- 1
s19$q24[s19$Form == 'C' & s19$Q12 != 'd'] <- 0
s19$q24[s19$Form == 'C' & s19$Q12 == '' ] <- NA

s19$q25 <- ifelse(s19$Q13 == 'e', 1, 0)
s19$q26 <- ifelse(s19$Q14 == 'c', 1, 0)
s19$q27 <- ifelse(s19$Q15 == 'a', 1, 0)
s19$q28 <- ifelse(s19$Q16 == 'b', 1, 0)
s19$q29 <- ifelse(s19$Q17 == 'b', 1, 0)
s19$q30 <- ifelse(s19$Q18 == 'c', 1, 0)
s19$q31 <- ifelse(s19$Q19 == 'e', 1, 0)
s19$q32 <- ifelse(s19$Q20 == 'e', 1, 0)
s19$q33 <- ifelse(s19$Q21 == 'd', 1, 0)
s19$q34 <- ifelse(s19$Q22 == 'b', 1, 0)

s19$q25[s19$Q13 == '' ] <- NA
s19$q26[s19$Q14 == '' ] <- NA
s19$q27[s19$Q15 == '' ] <- NA
s19$q28[s19$Q16 == '' ] <- NA
s19$q29[s19$Q17 == '' ] <- NA
s19$q30[s19$Q18 == '' ] <- NA
s19$q31[s19$Q19 == '' ] <- NA
s19$q32[s19$Q20 == '' ] <- NA
s19$q33[s19$Q21 == '' ] <- NA
s19$q34[s19$Q22 == '' ] <- NA

Part 2

basic descriptives

itemDesc <- describe(s19[,27:59]) # get item descriptives
itemDesc
##     vars   n mean   sd median trimmed mad min max range  skew kurtosis   se
## q1     1 360 0.91 0.29      1    1.00   0   0   1     1 -2.76     5.64 0.02
## q2     2 351 0.92 0.28      1    1.00   0   0   1     1 -3.02     7.14 0.01
## q3     3 360 0.90 0.30      1    1.00   0   0   1     1 -2.61     4.80 0.02
## q4     4 351 0.84 0.37      1    0.92   0   0   1     1 -1.82     1.33 0.02
## q5     5 363 0.82 0.38      1    0.90   0   0   1     1 -1.69     0.86 0.02
## q6     6 351 0.66 0.48      1    0.69   0   0   1     1 -0.65    -1.58 0.03
## q7     7 361 0.93 0.26      1    1.00   0   0   1     1 -3.22     8.39 0.01
## q8     8 350 0.91 0.29      1    1.00   0   0   1     1 -2.76     5.66 0.02
## q9     9 361 0.91 0.28      1    1.00   0   0   1     1 -2.94     6.69 0.01
## q10   10 350 0.87 0.34      1    0.96   0   0   1     1 -2.21     2.89 0.02
## q11   11 361 0.84 0.37      1    0.92   0   0   1     1 -1.81     1.29 0.02
## q12   12 336 0.58 0.49      1    0.60   0   0   1     1 -0.31    -1.91 0.03
## q13   13 353 0.83 0.37      1    0.92   0   0   1     1 -1.78     1.16 0.02
## q14   14 358 0.90 0.30      1    0.99   0   0   1     1 -2.60     4.75 0.02
## q15   15 352 0.60 0.49      1    0.62   0   0   1     1 -0.40    -1.84 0.03
## q16   16 356 0.81 0.40      1    0.88   0   0   1     1 -1.54     0.38 0.02
## q17   17 351 0.74 0.44      1    0.80   0   0   1     1 -1.09    -0.81 0.02
## q18   18 356 0.86 0.35      1    0.95   0   0   1     1 -2.06     2.25 0.02
## q19   19 353 0.81 0.39      1    0.88   0   0   1     1 -1.55     0.41 0.02
## q20   20 356 0.89 0.31      1    0.99   0   0   1     1 -2.54     4.45 0.02
## q21   21 351 0.84 0.37      1    0.93   0   0   1     1 -1.85     1.43 0.02
## q22   22 353 0.51 0.50      1    0.51   0   0   1     1 -0.04    -2.00 0.03
## q23   23 351 0.82 0.38      1    0.90   0   0   1     1 -1.66     0.77 0.02
## q24   24 352 0.68 0.47      1    0.72   0   0   1     1 -0.75    -1.44 0.02
## q25   25 696 0.67 0.47      1    0.72   0   0   1     1 -0.74    -1.45 0.02
## q26   26 701 0.69 0.46      1    0.74   0   0   1     1 -0.82    -1.33 0.02
## q27   27 696 0.50 0.50      1    0.50   0   0   1     1 -0.01    -2.00 0.02
## q28   28 704 0.85 0.35      1    0.94   0   0   1     1 -2.00     1.99 0.01
## q29   29 689 0.61 0.49      1    0.64   0   0   1     1 -0.45    -1.80 0.02
## q30   30 700 0.75 0.44      1    0.81   0   0   1     1 -1.13    -0.73 0.02
## q31   31 696 0.47 0.50      0    0.46   0   0   1     1  0.13    -1.99 0.02
## q32   32 695 0.74 0.44      1    0.80   0   0   1     1 -1.07    -0.85 0.02
## q33   33 695 0.81 0.39      1    0.89   0   0   1     1 -1.58     0.49 0.01
itemDiff <- itemDesc$mean # save the difficulties as a vector for plotting
items    <- itemDesc$vars # save item names as a vector for plotting

# plot item difficulties
plot(items,itemDiff, type = "l")
points(items,itemDiff)

IRT Analyses

m_1dimension <- 'math.skill = 1-34' # make the 1 dimensional model

# fit the Rasch
results.1pl <- mirt(data=s19[,27:60], model=m_1dimension, itemtype="Rasch", SE=TRUE, verbose=FALSE)
 # this ^ is the rasch, i've been fitting the 1pl; not sure if you can do that in MIRT
coef.1pl <- coef(results.1pl, IRTpars=TRUE, simplify=TRUE)

# fit the 2pl
results.2pl <- mirt(data=s19[,27:60], model=m_1dimension, itemtype="2PL", SE=TRUE, verbose=FALSE)
coef.2pl <- coef(results.2pl, IRTpars=TRUE, simplify=TRUE)

param.num.3pl <- mirt(data=s19[,27:60], model=m_1dimension, itemtype="3PL", SE=TRUE, verbose=FALSE,
                     pars='values') # get the parameter numbers
m <- 'F = 1-34
      PRIOR = (1-34, g, norm, -1.1,3)'
model <- mirt.model(m)
results.3pl <- mirt(data=s19[,27:60], model=model, itemtype="3PL", SE=TRUE, verbose=FALSE) # fit the 3pl
coef.3pl    <- coef(results.3pl, IRTpars=TRUE, simplify=TRUE)
coef.3pl
## $items
##         a      b     g u
## q1  2.085 -1.645 0.050 1
## q2  1.364 -2.180 0.128 1
## q3  2.838 -1.414 0.042 1
## q4  2.279 -1.088 0.179 1
## q5  0.651 -2.394 0.071 1
## q6  2.219 -0.168 0.237 1
## q7  2.666 -1.702 0.045 1
## q8  2.279 -1.660 0.074 1
## q9  2.077 -1.717 0.077 1
## q10 1.256 -1.798 0.137 1
## q11 1.937 -1.244 0.022 1
## q12 1.033 -0.259 0.075 1
## q13 2.050 -1.244 0.064 1
## q14 1.669 -1.558 0.217 1
## q15 1.525  0.896 0.454 1
## q16 1.423 -1.219 0.061 1
## q17 2.309 -0.802 0.024 1
## q18 2.116 -1.219 0.119 1
## q19 2.330 -1.064 0.052 1
## q20 2.957 -1.361 0.046 1
## q21 2.770 -1.099 0.107 1
## q22 2.024  0.572 0.251 1
## q23 2.127 -0.927 0.251 1
## q24 2.454 -0.193 0.210 1
## q25 2.171 -0.373 0.130 1
## q26 2.280 -0.012 0.364 1
## q27 1.523  0.363 0.161 1
## q28 1.550 -1.380 0.160 1
## q29 2.507  0.136 0.276 1
## q30 2.126 -0.275 0.371 1
## q31 2.328  0.337 0.113 1
## q32 1.634 -0.503 0.258 1
## q33 2.020 -0.694 0.337 1
## q34 1.929  0.353 0.292 1
## 
## $means
## F 
## 0 
## 
## $cov
##   F
## F 1
# lr tests
anova(results.1pl, results.2pl)
## 
## Model 1: mirt(data = s19[, 27:60], model = m_1dimension, itemtype = "Rasch", 
##     SE = TRUE, verbose = FALSE)
## Model 2: mirt(data = s19[, 27:60], model = m_1dimension, itemtype = "2PL", 
##     SE = TRUE, verbose = FALSE)
##        AIC    SABIC       HQ      BIC    logLik      X2  df   p
## 1 13976.05 14024.94 14037.85 14136.08 -6953.024     NaN NaN NaN
## 2 13819.56 13914.56 13939.63 14130.48 -6841.780 222.489  33   0
anova(results.2pl, results.3pl)
## 
## Model 1: mirt(data = s19[, 27:60], model = m_1dimension, itemtype = "2PL", 
##     SE = TRUE, verbose = FALSE)
## Model 2: mirt(data = s19[, 27:60], model = model, itemtype = "3PL", SE = TRUE, 
##     verbose = FALSE)
##        AIC    SABIC       HQ      BIC    logLik   logPost  df
## 1 13819.56 13914.56 13939.63 14130.48 -6841.780 -6841.780 NaN
## 2 13820.27 13962.76 14000.37 14286.64 -6808.133 -6879.671  34
firstFive <- c(1:5)
itemplot(results.3pl, 1)

plot(results.3pl, type='trace', auto.key=F) # all item trace lines

plot(results.3pl, type='infotrace',auto.key=T)

plot(results.3pl, type='info', auto.key=T) # all item trace lines

theta <- fscores(results.3pl)

Part 3

2 factor model

#parnums.multi2.3pl <- mirt(data=s19[,27:60], model=2, itemtype="3PL",
#                           pars = 'values', SE=TRUE, verbose=FALSE) # get param numbers
#results.multi2.3pl.s19 <- mirt(data=s19[,27:60], model=2, itemtype="3PL",
#                           parprior = list(c(seq(4,350,5), 'norm', -1.1,3),
#                                           c(seq(1,350,5), 'norm',  0.0,3),
#                                           c(seq(2,350,5), 'norm',  0.0,3),
#                                           c(seq(3,350,5), 'norm',  0.0,3)),
#                           SE=TRUE, verbose=FALSE) # fit the 3pl
#save(results.multi2.3pl.s19, file = "results.multi2.3pl.s19")
load('C:/Users/Sydne/Documents/results.multi2.3pl.s19')
coef.multi2.3pl.s19 <- coef(results.multi2.3pl.s19, simplify = T, rotate = 'bifactorQ')
## 
## Rotation:  bifactorQ
coef.multi2.3pl.s19
## $items
##        a1    a2      d     g u
## q1  1.088 2.082  3.587 0.060 1
## q2  1.028 0.888  2.924 0.146 1
## q3  1.597 2.790  4.284 0.040 1
## q4  1.461 2.132  2.737 0.165 1
## q5  0.190 0.911  1.648 0.071 1
## q6  1.715 2.595  0.573 0.215 1
## q7  1.336 2.428  4.537 0.050 1
## q8  1.340 2.030  3.947 0.074 1
## q9  1.243 1.705  3.523 0.087 1
## q10 1.050 0.629  2.226 0.134 1
## q11 1.205 2.040  2.647 0.022 1
## q12 0.624 1.384  0.180 0.120 1
## q13 1.549 1.179  2.444 0.081 1
## q14 1.212 1.141  2.513 0.249 1
## q15 0.686 1.599 -0.983 0.385 1
## q16 1.057 1.035  1.727 0.077 1
## q17 1.912 1.068  1.784 0.029 1
## q18 1.505 1.600  2.539 0.160 1
## q19 1.729 1.434  2.427 0.048 1
## q20 1.819 2.326  4.040 0.039 1
## q21 2.067 2.376  3.177 0.141 1
## q22 1.684 2.376 -1.407 0.246 1
## q23 1.712 0.793  2.130 0.152 1
## q24 2.095 2.351  0.482 0.228 1
## q25 1.783 0.660  1.012 0.035 1
## q26 2.026 0.342  0.421 0.281 1
## q27 1.673 0.412 -0.699 0.183 1
## q28 1.262 0.849  2.200 0.116 1
## q29 2.042 0.940 -0.197 0.249 1
## q30 1.585 0.581  0.950 0.249 1
## q31 1.886 0.579 -0.503 0.063 1
## q32 1.526 0.234  1.334 0.041 1
## q33 2.158 0.212  1.968 0.189 1
## q34 2.387 0.000 -0.572 0.257 1
## 
## $means
## F1 F2 
##  0  0 
## 
## $cov
##    F1 F2
## F1  1  0
## F2  0  1

3 factor model

#parnums.multi3.3pl.s19 <- mirt(data=s19[,27:60], model=3, itemtype="3PL",
#                           pars = 'values', SE=TRUE, verbose=FALSE) # get param numbers
#parnums.multi3.3pl.s19
#results.multi3.3pl.s19 <- mirt(data=s19[,27:60], model=3, itemtype="3PL",
#                           parprior = list(c(seq(5,420,6), 'norm', -1.1,3),
#                                           c(seq(1,420,6), 'norm',  0.0,3),
#                                           c(seq(2,420,6), 'norm',  0.0,3),
#                                           c(seq(3,420,6), 'norm',  0.0,3),
#                                           c(seq(4,420,6), 'norm',  0.0,3)),
#                           SE=TRUE, verbose=FALSE) # fit the 3pl
#save(results.multi3.3pl.s19, file = "results.multi3.3pl.s19")
load('C:/Users/Sydne/Documents/results.multi3.3pl.s19')
coef.multi3.3pl.s19 <- coef(results.multi3.3pl.s19, simplify = T, rotate = 'bifactorQ')
## 
## Rotation:  bifactorQ
coef.multi3.3pl.s19
## $items
##        a1     a2     a3      d     g u
## q1  2.535 -0.078 -0.733  3.874 0.040 1
## q2  1.289  0.544  0.557  2.877 0.235 1
## q3  3.186 -0.713 -0.548  4.334 0.037 1
## q4  2.735  1.734  0.384  3.189 0.171 1
## q5  0.746 -0.481 -0.280  1.617 0.078 1
## q6  3.008  0.786 -0.200  0.562 0.215 1
## q7  2.857 -1.830 -0.201  5.245 0.038 1
## q8  2.361  0.652 -0.141  3.965 0.074 1
## q9  1.933 -0.926  0.262  3.551 0.080 1
## q10 2.059 -1.558 -0.294  3.532 0.080 1
## q11 2.208 -0.910 -0.106  2.616 0.022 1
## q12 1.318  1.258  0.054  0.261 0.087 1
## q13 2.174 -0.711  0.190  2.759 0.047 1
## q14 1.680 -0.625  0.095  2.698 0.202 1
## q15 0.898  1.484 -0.334  0.399 0.078 1
## q16 1.512  0.028  0.078  1.738 0.069 1
## q17 2.124  0.142  0.655  1.817 0.027 1
## q18 2.133  0.231  0.194  2.536 0.135 1
## q19 2.262 -0.152  0.417  2.529 0.033 1
## q20 3.213  0.342 -0.211  4.286 0.037 1
## q21 2.661  0.359  0.229  3.148 0.057 1
## q22 3.099  0.646 -0.363 -1.441 0.234 1
## q23 1.624  0.411  0.925  2.305 0.093 1
## q24 3.782 -0.197 -0.183  0.497 0.228 1
## q25 1.669 -0.086  0.929  0.980 0.045 1
## q26 1.626 -0.170  1.287  0.345 0.296 1
## q27 1.526  0.013  1.211 -0.893 0.208 1
## q28 1.446  0.181  0.506  2.222 0.114 1
## q29 2.011  0.172  1.091 -0.214 0.250 1
## q30 1.712 -0.447  0.814  0.812 0.304 1
## q31 1.806 -0.045  0.998 -0.607 0.081 1
## q32 1.168 -0.273  0.951  1.287 0.055 1
## q33 1.566  0.122  1.923  2.237 0.158 1
## q34 1.409 -0.038  1.627 -0.377 0.225 1
## 
## $means
## F1 F2 F3 
##  0  0  0 
## 
## $cov
##    F1   F2   F3
## F1  1 0.00 0.00
## F2  0 1.00 0.03
## F3  0 0.03 1.00

4 factor model

#parnums.multi4.3pl.s19 <- mirt(data=s19[,27:60], model=4, itemtype="3PL",
#                               pars = 'values', SE=TRUE, verbose=FALSE) # get param numbers
#parnums.multi4.3pl.s19
#results.multi4.3pl.s19 <- mirt(data=s19[,27:60], model=4, itemtype="3PL",
#                               parprior = list(c(seq(6,490,7), 'norm', -1.1,3),
#                                               c(seq(1,490,7), 'norm',  0.0,3),
#                                               c(seq(2,490,7), 'norm',  0.0,3),
#                                               c(seq(3,490,7), 'norm',  0.0,3),
#                                               c(seq(4,490,7), 'norm',  0.0,3),
#                                               c(seq(5,490,7), 'norm',  0.0,3)),
#                               SE=TRUE, verbose=FALSE, method = 'QMCEM')
#save(results.multi4.3pl.s19, file = "results.multi4.3pl.s19")
load('C:/Users/Sydne/Documents/results.multi4.3pl.s19')
coef.multi4.3pl.s19 <- coef(results.multi4.3pl.s19, simplify = T, rotate = 'bifactorQ')
## 
## Rotation:  bifactorQ
coef.multi4.3pl.s19
## $items
##        a1     a2     a3     a4      d     g u
## q1  2.365 -0.984 -0.492  0.019  3.850 0.044 1
## q2  1.321  0.502  0.440  0.172  2.925 0.204 1
## q3  3.655 -2.140 -0.336  0.958  5.349 0.028 1
## q4  2.889  1.559  0.348  1.111  3.385 0.175 1
## q5  0.798 -0.116 -0.268  1.182  1.886 0.052 1
## q6  2.889  0.787 -0.233  0.168  0.594 0.203 1
## q7  2.552 -0.523 -0.519  0.745  4.440 0.048 1
## q8  2.510  0.026  0.043  1.491  4.590 0.066 1
## q9  2.437  0.698 -0.093  1.306  4.241 0.079 1
## q10 2.207 -1.690 -0.467 -0.581  3.783 0.077 1
## q11 2.663  0.288 -0.577  0.773  2.927 0.021 1
## q12 1.249  1.226  0.018  0.058  0.388 0.038 1
## q13 2.382 -0.803  0.074 -0.303  2.914 0.067 1
## q14 1.672 -0.451 -0.092 -0.233  2.829 0.120 1
## q15 1.507  1.980 -0.297 -0.398 -0.539 0.294 1
## q16 1.556 -0.258  0.038  0.081  1.730 0.095 1
## q17 2.098  0.026  0.682  0.189  1.794 0.029 1
## q18 2.743 -0.534  0.612  1.299  3.029 0.198 1
## q19 3.341 -0.500  0.481  1.583  3.270 0.109 1
## q20 3.138 -0.592  0.161  1.195  4.391 0.055 1
## q21 2.969  0.727  0.050  0.101  3.399 0.056 1
## q22 2.996  1.023 -0.486 -1.002 -1.296 0.212 1
## q23 1.686  0.553  0.815 -0.062  2.288 0.100 1
## q24 3.426  0.498 -0.567 -1.503  1.320 0.104 1
## q25 1.700 -0.023  0.775 -0.177  0.990 0.040 1
## q26 1.680 -0.143  1.228 -0.660  0.411 0.288 1
## q27 1.545 -0.092  1.096 -0.335 -0.862 0.205 1
## q28 1.501  0.091  0.592  0.433  2.215 0.159 1
## q29 2.071  0.241  1.000  0.003 -0.215 0.250 1
## q30 1.335 -0.218  0.578 -0.694  1.381 0.073 1
## q31 1.635 -0.066  0.875 -0.428 -0.439 0.049 1
## q32 1.285 -0.410  0.902 -0.413  1.376 0.043 1
## q33 1.813  0.077  2.087  0.215  2.246 0.211 1
## q34 1.576  0.111  1.903  0.243 -0.441 0.229 1
## 
## $means
## F1 F2 F3 F4 
##  0  0  0  0 
## 
## $cov
##    F1     F2    F3     F4
## F1  1  0.000 0.000  0.000
## F2  0  1.000 0.007 -0.029
## F3  0  0.007 1.000  0.027
## F4  0 -0.029 0.027  1.000

compare fit

anova(results.3pl, results.multi2.3pl.s19, results.multi3.3pl.s19,
      results.multi4.3pl.s19)
##        AIC    SABIC       HQ      BIC    logLik   logPost  df
## 1 13820.27 13962.76 14000.37 14286.64 -6808.133 -6879.671 NaN
## 2 13816.77 14006.30 14055.42 14434.97 -6773.383 -7070.777  33
## 3 13817.10 14051.56 14112.33 14581.83 -6741.548 -7111.138  32
## 4 13813.30 14091.28 14163.33 14719.99 -6708.649 -7150.973  31

calculate IECV 2 factor

sum.multi2.s19 <- summary(results.multi2.3pl.s19, rotate = "bifactorT")
## 
## Rotation:  bifactorT 
## 
## Rotated factor loadings: 
## 
##         F1     F2    h2
## q1  0.3750 0.7178 0.656
## q2  0.4720 0.4077 0.389
## q3  0.4391 0.7670 0.781
## q4  0.4721 0.6889 0.697
## q5  0.0978 0.4698 0.230
## q6  0.4836 0.7319 0.770
## q7  0.4107 0.7466 0.726
## q8  0.4513 0.6839 0.671
## q9  0.4584 0.6289 0.606
## q10 0.5009 0.3001 0.341
## q11 0.4131 0.6992 0.660
## q12 0.2736 0.6069 0.443
## q13 0.5991 0.4561 0.567
## q14 0.5093 0.4791 0.489
## q15 0.2817 0.6569 0.511
## q16 0.4686 0.4589 0.430
## q17 0.6893 0.3851 0.623
## q18 0.5414 0.5760 0.625
## q19 0.6136 0.5087 0.635
## q20 0.5337 0.6825 0.751
## q21 0.5774 0.6637 0.774
## q22 0.4992 0.7044 0.745
## q23 0.6738 0.3122 0.551
## q24 0.5853 0.6567 0.774
## q25 0.6988 0.2587 0.555
## q26 0.7594 0.1283 0.593
## q27 0.6908 0.1700 0.506
## q28 0.5530 0.3720 0.444
## q29 0.7242 0.3335 0.636
## q30 0.6611 0.2423 0.496
## q31 0.7238 0.2221 0.573
## q32 0.6641 0.1020 0.451
## q33 0.7828 0.0769 0.619
## q34 0.8142 0.0000 0.663
## 
## Rotated SS loadings:  10.877 9.105 
## 
## Factor correlations: 
## 
##    F1 F2
## F1  1  0
## F2  0  1
f2.iecv.s19 <- sum.multi2.s19$rotF[,1]^2/sum.multi2.s19$h2
f2.summary <- as.data.frame(cbind(sum.multi2.s19$rotF[,1], sum.multi2.s19$h2,
                                  f2.iecv.s19))
names(f2.summary) <- c("Gen Factor", "Communality", "IECV")
round(f2.summary,2)
##     Gen Factor Communality IECV
## q1        0.37        0.66 0.21
## q2        0.47        0.39 0.57
## q3        0.44        0.78 0.25
## q4        0.47        0.70 0.32
## q5        0.10        0.23 0.04
## q6        0.48        0.77 0.30
## q7        0.41        0.73 0.23
## q8        0.45        0.67 0.30
## q9        0.46        0.61 0.35
## q10       0.50        0.34 0.74
## q11       0.41        0.66 0.26
## q12       0.27        0.44 0.17
## q13       0.60        0.57 0.63
## q14       0.51        0.49 0.53
## q15       0.28        0.51 0.16
## q16       0.47        0.43 0.51
## q17       0.69        0.62 0.76
## q18       0.54        0.62 0.47
## q19       0.61        0.64 0.59
## q20       0.53        0.75 0.38
## q21       0.58        0.77 0.43
## q22       0.50        0.75 0.33
## q23       0.67        0.55 0.82
## q24       0.59        0.77 0.44
## q25       0.70        0.56 0.88
## q26       0.76        0.59 0.97
## q27       0.69        0.51 0.94
## q28       0.55        0.44 0.69
## q29       0.72        0.64 0.83
## q30       0.66        0.50 0.88
## q31       0.72        0.57 0.91
## q32       0.66        0.45 0.98
## q33       0.78        0.62 0.99
## q34       0.81        0.66 1.00

calculate IECV 3 factor

sum.multi3.s19 <- summary(results.multi3.3pl.s19, rotate = "bifactorT")
## 
## Rotation:  bifactorT 
## 
## Rotated factor loadings: 
## 
##        F1        F2      F3    h2
## q1  0.807 -0.046678 -0.2312 0.707
## q2  0.570  0.234864  0.2467 0.441
## q3  0.852 -0.211697 -0.1455 0.791
## q4  0.751  0.459362  0.1071 0.786
## q5  0.380 -0.259128 -0.1437 0.232
## q6  0.852  0.203860 -0.0536 0.770
## q7  0.742 -0.496703 -0.0521 0.800
## q8  0.795  0.202072 -0.0449 0.675
## q9  0.697 -0.347904  0.0961 0.616
## q10 0.652 -0.515812 -0.0943 0.701
## q11 0.746 -0.325323 -0.0349 0.664
## q12 0.538  0.494660  0.0243 0.534
## q13 0.756 -0.261677  0.0677 0.645
## q14 0.674 -0.264659  0.0393 0.526
## q15 0.379  0.595803 -0.1340 0.516
## q16 0.664  0.000548  0.0360 0.442
## q17 0.758  0.042620  0.2352 0.632
## q18 0.778  0.071328  0.0728 0.616
## q19 0.788 -0.064101  0.1474 0.647
## q20 0.880  0.075132 -0.0553 0.783
## q21 0.836  0.098825  0.0741 0.715
## q22 0.862  0.159707 -0.0979 0.778
## q23 0.635  0.157953  0.3623 0.560
## q24 0.909 -0.065977 -0.0420 0.832
## q25 0.651 -0.036034  0.3645 0.558
## q26 0.603 -0.061491  0.4804 0.598
## q27 0.589  0.006878  0.4692 0.567
## q28 0.630  0.073048  0.2219 0.452
## q29 0.704  0.057322  0.3835 0.646
## q30 0.659 -0.177097  0.3163 0.566
## q31 0.674 -0.019257  0.3744 0.595
## q32 0.508 -0.117692  0.4169 0.446
## q33 0.519  0.048087  0.6395 0.681
## q34 0.512 -0.007371  0.5941 0.615
## 
## Rotated SS loadings:  16.638 2.083 2.41 
## 
## Factor correlations: 
## 
##    F1 F2 F3
## F1  1  0  0
## F2  0  1  0
## F3  0  0  1
f3.iecv.s19 <- sum.multi3.s19$rotF[,1]^2/sum.multi3.s19$h2
f3.summary <- as.data.frame(cbind(sum.multi3.s19$rotF[,1], sum.multi3.s19$h2,
                                  f3.iecv.s19))
names(f3.summary) <- c("Gen Factor", "Communality", "IECV")
round(f3.summary,2)
##     Gen Factor Communality IECV
## q1        0.81        0.71 0.92
## q2        0.57        0.44 0.74
## q3        0.85        0.79 0.92
## q4        0.75        0.79 0.72
## q5        0.38        0.23 0.62
## q6        0.85        0.77 0.94
## q7        0.74        0.80 0.69
## q8        0.79        0.67 0.94
## q9        0.70        0.62 0.79
## q10       0.65        0.70 0.61
## q11       0.75        0.66 0.84
## q12       0.54        0.53 0.54
## q13       0.76        0.64 0.89
## q14       0.67        0.53 0.86
## q15       0.38        0.52 0.28
## q16       0.66        0.44 1.00
## q17       0.76        0.63 0.91
## q18       0.78        0.62 0.98
## q19       0.79        0.65 0.96
## q20       0.88        0.78 0.99
## q21       0.84        0.71 0.98
## q22       0.86        0.78 0.95
## q23       0.64        0.56 0.72
## q24       0.91        0.83 0.99
## q25       0.65        0.56 0.76
## q26       0.60        0.60 0.61
## q27       0.59        0.57 0.61
## q28       0.63        0.45 0.88
## q29       0.70        0.65 0.77
## q30       0.66        0.57 0.77
## q31       0.67        0.59 0.76
## q32       0.51        0.45 0.58
## q33       0.52        0.68 0.40
## q34       0.51        0.62 0.43

calculate IECV 4 factor

sum.multi4.s19 <- summary(results.multi4.3pl.s19, rotate = "bifactorT")
## 
## Rotation:  bifactorT 
## 
## Rotated factor loadings: 
## 
##        F1        F2      F3       F4    h2
## q1  0.760 -0.312423 -0.1630  0.00318 0.702
## q2  0.584  0.221436  0.1971  0.07470 0.434
## q3  0.782 -0.458178 -0.0745  0.20272 0.868
## q4  0.747  0.398485  0.0979  0.28355 0.806
## q5  0.358 -0.063389 -0.1115  0.52589 0.421
## q6  0.835  0.230241 -0.0661  0.04419 0.757
## q7  0.788 -0.163412 -0.1594  0.22604 0.724
## q8  0.744 -0.000286  0.0191  0.43839 0.746
## q9  0.736  0.203839 -0.0203  0.39044 0.736
## q10 0.662 -0.498603 -0.1499 -0.17551 0.740
## q11 0.804  0.084845 -0.1709  0.22854 0.736
## q12 0.510  0.503542  0.0122  0.01984 0.514
## q13 0.782 -0.257780  0.0179 -0.10070 0.688
## q14 0.686 -0.179319 -0.0432 -0.09755 0.514
## q15 0.489  0.652081 -0.0934 -0.13507 0.691
## q16 0.671 -0.109369  0.0141  0.03294 0.463
## q17 0.752  0.009911  0.2438  0.06695 0.629
## q18 0.768 -0.155571  0.1739  0.36160 0.775
## q19 0.809 -0.127487  0.1202  0.38102 0.831
## q20 0.823 -0.159682  0.0444  0.31078 0.802
## q21 0.848  0.210482  0.0151  0.02504 0.764
## q22 0.792  0.281548 -0.1325 -0.27041 0.797
## q23 0.650  0.215353  0.3148 -0.02431 0.569
## q24 0.816  0.131700 -0.1426 -0.36316 0.835
## q25 0.672 -0.005611  0.3032 -0.06932 0.548
## q26 0.609 -0.044906  0.4383 -0.23672 0.620
## q27 0.603 -0.031561  0.4231 -0.12891 0.560
## q28 0.629  0.035196  0.2500  0.18097 0.493
## q29 0.722  0.085576  0.3475  0.00120 0.649
## q30 0.568 -0.083878  0.2386 -0.29502 0.474
## q31 0.642 -0.020292  0.3382 -0.16712 0.554
## q32 0.541 -0.167119  0.3728 -0.17123 0.489
## q33 0.558  0.021981  0.6407  0.06938 0.727
## q34 0.524  0.034599  0.6315  0.08402 0.682
## 
## Rotated SS loadings:  16.381 1.988 2.196 1.773 
## 
## Factor correlations: 
## 
##    F1 F2 F3 F4
## F1  1  0  0  0
## F2  0  1  0  0
## F3  0  0  1  0
## F4  0  0  0  1
f4.iecv.s19 <- sum.multi4.s19$rotF[,1]^2/sum.multi4.s19$h2
f4.summary <- as.data.frame(cbind(sum.multi4.s19$rotF[,1], sum.multi4.s19$h2,
                                  f4.iecv.s19))
names(f4.summary) <- c("Gen Factor", "Communality", "IECV")
round(f4.summary,2)
##     Gen Factor Communality IECV
## q1        0.76        0.70 0.82
## q2        0.58        0.43 0.78
## q3        0.78        0.87 0.70
## q4        0.75        0.81 0.69
## q5        0.36        0.42 0.30
## q6        0.84        0.76 0.92
## q7        0.79        0.72 0.86
## q8        0.74        0.75 0.74
## q9        0.74        0.74 0.74
## q10       0.66        0.74 0.59
## q11       0.80        0.74 0.88
## q12       0.51        0.51 0.51
## q13       0.78        0.69 0.89
## q14       0.69        0.51 0.92
## q15       0.49        0.69 0.35
## q16       0.67        0.46 0.97
## q17       0.75        0.63 0.90
## q18       0.77        0.77 0.76
## q19       0.81        0.83 0.79
## q20       0.82        0.80 0.85
## q21       0.85        0.76 0.94
## q22       0.79        0.80 0.79
## q23       0.65        0.57 0.74
## q24       0.82        0.83 0.80
## q25       0.67        0.55 0.82
## q26       0.61        0.62 0.60
## q27       0.60        0.56 0.65
## q28       0.63        0.49 0.80
## q29       0.72        0.65 0.80
## q30       0.57        0.47 0.68
## q31       0.64        0.55 0.74
## q32       0.54        0.49 0.60
## q33       0.56        0.73 0.43
## q34       0.52        0.68 0.40

make plots

# 2 factors
f2.summary <- f2.summary[order(f2.summary$IECV),]
f2.summary$color <- ifelse(f2.summary$IECV < .5, "green3",
                           ifelse(f2.summary$IECV > .5 & f2.summary$IECV < .8,
                                  "gold2", "red"))
f2.summary$pch <- ifelse(f2.summary$Communality < .33, 1, 16)
plot(f2.summary$Communality, f2.summary$IECV,
     xlab = "Communality", ylab = "IECV", main = "2 Dimensions",
     col = f2.summary$color, pch = f2.summary$pch)
text(-.03+f2.summary$Communality, f2.summary$IECV,
     labels = row.names(f2.summary))

plot(1-f2.summary$Communality, f2.summary$IECV,
     xlab = "Uniqueness", ylab = "IECV", main = "2 Dimensions")

plot(f2.summary$IECV, xlab = "Item", ylab = "IECV", xaxt = "n")
axis(1, at = seq(1,34,1), las = 2, labels = row.names(f2.summary))

# 3 factors
f3.summary <- f3.summary[order(f3.summary$IECV),]
f3.summary$color <- ifelse(f3.summary$IECV < .5, "green3",
                           ifelse(f3.summary$IECV > .5 & f3.summary$IECV < .8,
                                  "gold2", "red"))
f3.summary$pch <- ifelse(f3.summary$Communality < .33, 1, 16)
plot(f3.summary$Communality, f3.summary$IECV,
     xlab = "Communality", ylab = "IECV", main = "3 Dimensions",
     col = f3.summary$color, pch = f3.summary$pch)
text(-.03+f3.summary$Communality, f3.summary$IECV,
     labels = row.names(f3.summary))

plot(1-f3.summary$Communality, f3.summary$IECV,
     xlab = "Uniqueness", ylab = "IECV", main = "3 Dimensions")

plot(f3.summary$IECV, xlab = "Item", ylab = "IECV", xaxt = "n")
axis(1, at = seq(1,34,1), las = 2, labels = row.names(f3.summary))

# 4 factors
f4.summary <- f4.summary[order(f4.summary$IECV),]
f4.summary$color <- ifelse(f4.summary$IECV < .5, "green3",
                           ifelse(f4.summary$IECV > .5 & f4.summary$IECV < .8,
                                  "gold2", "red"))
f4.summary$pch <- ifelse(f4.summary$Communality < .33, 1, 16)
plot(f4.summary$Communality, f4.summary$IECV,
     xlab = "Communality", ylab = "IECV", main = "4 Dimensions",
     col = f4.summary$color, pch = f4.summary$pch)
text(-.03+f4.summary$Communality, f4.summary$IECV,
     labels = row.names(f4.summary))

plot(1-f4.summary$Communality, f4.summary$IECV,
     xlab = "Uniqueness", ylab = "IECV", main = "4 Dimensions")

plot(f4.summary$IECV, xlab = "Item", ylab = "IECV", xaxt = "n")
axis(1, at = seq(1,34,1), las = 2, labels = row.names(f4.summary))