Note This is an R markdown document and refers to the data processing step of the manuscript titled “An Exploratory Analysis of the Internal Structure of Test Through a Multi-methods Exploratory Approach of the ASQ:SE in Brazil”, by Luis Anunciação, Jane Squires, Ajay Singh, and J. Landeira-Fernandez. Data and codes are availabe at https://osf.io/z6gwv/.
Feel free to contact me at
Last update: 21 July, 2021 Thank you.

#Packages
pacman::p_load(tidyverse, #enrironment
               psych) #classical test

1 Data processing

1.1 package versions

packageVersion("psych")
[1] ‘2.1.6’
packageVersion("EGANet")
[1] ‘0.9.8’

1.2 Get the raw data

Always load the main dataset

load("https://osf.io/e4m53/download")
cannot open compressed file 'https://osf.io/e4m53/download', probable reason 'Invalid argument'Error in readChar(con, 5L, useBytes = TRUE) : cannot open the connection

1.3 Change vector labels

Note: “dados” and “original” vectors refer to the same dataset. All items that should have been reversed were reversed already.

For this specific paper, change labels

ds_60 <- original_60
ds_48 <- original_48
ds_36 <- original_36
ds_30 <- original_30
ds_24 <- original_24
ds_18 <- original_18
ds_12 <- original_12

backup_60 <- ds_60
backup_48 <- ds_48
backup_36 <- ds_36
backup_30 <- ds_30
backup_24 <- ds_24
backup_18 <- ds_18
backup_12 <- ds_12

Than I’ll remove all the other things

to.remove <- ls()
to.remove <- c(to.remove[!grepl(pattern = "^ds|^backup", to.remove)], "to.remove")
rm(list=to.remove)
#rm(list=setdiff(ls(), c("ds")))

In this project, we are using the 2011 data only.

1.4 Data set 48 months

This ds was not used in this manuscript. However, future analyses will use it.

ds_48 <- ds_48 %>% 
  select(-c(sum_emo, sum_soc)) %>% 
  filter(year == "2011") %>% 
  mutate(score = rowSums(select(., starts_with("q")), na.rm=T))
ds_48 %>% count(year)

1.5 Data set 60 months

This manuscript was used in the manuscript.

ds_60 <- ds_60 %>% 
  select(-c(sum_emo, sum_soc)) %>% 
  filter(year == "2011") %>%
  mutate(score = rowSums(select(., starts_with("q")), na.rm=T))
ds_60 %>% count(year)

1.6 Visual check: Original data (48 months)

ds_48 %>% 
  select(starts_with("q_")) %>% 
  mutate_all(factor) %>% 
  DataExplorer::plot_bar()

1.7 Visual check: Original data (60 months)

ds_60 %>% 
  select(starts_with("q_")) %>% 
  mutate_all(factor) %>% 
  DataExplorer::plot_bar()

1.8 Tabular check (48 months)

ds_48 %>% 
  select(starts_with("q_")) %>% summarytools::freq() %>% kable()
Freq % Valid % Valid Cum. % Total % Total Cum.
0 11073 88.775756 88.77576 88.775756 88.77576
5 1249 10.013629 98.78939 10.013629 98.78939
10 151 1.210615 100.00000 1.210615 100.00000
0 NA NA 0.000000 100.00000
Total 12473 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 8386 67.23322 67.23322 67.23322 67.23322
5 2720 21.80710 89.04033 21.80710 89.04033
10 1367 10.95967 100.00000 10.95967 100.00000
0 NA NA 0.00000 100.00000
Total 12473 100.00000 100.00000 100.00000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 10222 81.953018 81.95302 81.953018 81.95302
5 1745 13.990219 95.94324 13.990219 95.94324
10 506 4.056763 100.00000 4.056763 100.00000
0 NA NA 0.000000 100.00000
Total 12473 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 10489 84.093642 84.09364 84.093642 84.09364
5 1476 11.833561 95.92720 11.833561 95.92720
10 508 4.072797 100.00000 4.072797 100.00000
0 NA NA 0.000000 100.00000
Total 12473 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 10441 83.708811 83.70881 83.708811 83.70881
5 1685 13.509180 97.21799 13.509180 97.21799
10 347 2.782009 100.00000 2.782009 100.00000
0 NA NA 0.000000 100.00000
Total 12473 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 9901 79.379460 79.37946 79.379460 79.37946
5 1653 13.252626 92.63209 13.252626 92.63209
10 919 7.367915 100.00000 7.367915 100.00000
0 NA NA 0.000000 100.00000
Total 12473 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 9452 75.77968 75.77968 75.77968 75.77968
5 2380 19.08122 94.86090 19.08122 94.86090
10 641 5.13910 100.00000 5.13910 100.00000
0 NA NA 0.00000 100.00000
Total 12473 100.00000 100.00000 100.00000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 9286 74.448809 74.44881 74.448809 74.44881
5 2180 17.477752 91.92656 17.477752 91.92656
10 1007 8.073439 100.00000 8.073439 100.00000
0 NA NA 0.000000 100.00000
Total 12473 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 11417 91.533713 91.53371 91.533713 91.53371
5 903 7.239638 98.77335 7.239638 98.77335
10 153 1.226650 100.00000 1.226650 100.00000
0 NA NA 0.000000 100.00000
Total 12473 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 11711 93.890804 93.89080 93.890804 93.89080
5 553 4.433577 98.32438 4.433577 98.32438
10 209 1.675619 100.00000 1.675619 100.00000
0 NA NA 0.000000 100.00000
Total 12473 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 11355 91.03664 91.03664 91.03664 91.03664
5 477 3.82426 94.86090 3.82426 94.86090
10 641 5.13910 100.00000 5.13910 100.00000
0 NA NA 0.00000 100.00000
Total 12473 100.00000 100.00000 100.00000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 9672 77.54349 77.54349 77.54349 77.54349
5 2391 19.16941 96.71290 19.16941 96.71290
10 410 3.28710 100.00000 3.28710 100.00000
0 NA NA 0.00000 100.00000
Total 12473 100.00000 100.00000 100.00000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 9613 77.070472 77.07047 77.070472 77.07047
5 2619 20.997354 98.06783 20.997354 98.06783
10 241 1.932173 100.00000 1.932173 100.00000
0 NA NA 0.000000 100.00000
Total 12473 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 11364 91.108795 91.10880 91.108795 91.10880
5 984 7.889040 98.99784 7.889040 98.99784
10 125 1.002165 100.00000 1.002165 100.00000
0 NA NA 0.000000 100.00000
Total 12473 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 11523 92.383549 92.38355 92.383549 92.38355
5 689 5.523932 97.90748 5.523932 97.90748
10 261 2.092520 100.00000 2.092520 100.00000
0 NA NA 0.000000 100.00000
Total 12473 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 7917 63.47310 63.47310 63.47310 63.47310
5 2394 19.19346 82.66656 19.19346 82.66656
10 2162 17.33344 100.00000 17.33344 100.00000
0 NA NA 0.00000 100.00000
Total 12473 100.00000 100.00000 100.00000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 11259 90.266977 90.26698 90.266977 90.26698
5 895 7.175499 97.44248 7.175499 97.44248
10 319 2.557524 100.00000 2.557524 100.00000
0 NA NA 0.000000 100.00000
Total 12473 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 10366 83.107512 83.10751 83.107512 83.10751
5 1707 13.685561 96.79307 13.685561 96.79307
10 400 3.206927 100.00000 3.206927 100.00000
0 NA NA 0.000000 100.00000
Total 12473 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 9780 78.409364 78.40936 78.409364 78.40936
5 1865 14.952297 93.36166 14.952297 93.36166
10 828 6.638339 100.00000 6.638339 100.00000
0 NA NA 0.000000 100.00000
Total 12473 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 10480 84.021486 84.02149 84.021486 84.02149
5 1694 13.581336 97.60282 13.581336 97.60282
10 299 2.397178 100.00000 2.397178 100.00000
0 NA NA 0.000000 100.00000
Total 12473 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 10162 81.471980 81.47198 81.471980 81.47198
5 1930 15.473423 96.94540 15.473423 96.94540
10 381 3.054598 100.00000 3.054598 100.00000
0 NA NA 0.000000 100.00000
Total 12473 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 11785 94.484086 94.48409 94.484086 94.48409
5 354 2.838130 97.32222 2.838130 97.32222
10 334 2.677784 100.00000 2.677784 100.00000
0 NA NA 0.000000 100.00000
Total 12473 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 12086 96.897298 96.8973 96.897298 96.8973
5 214 1.715706 98.6130 1.715706 98.6130
10 173 1.386996 100.0000 1.386996 100.0000
0 NA NA 0.000000 100.0000
Total 12473 100.000000 100.0000 100.000000 100.0000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 8781 70.400064 70.40006 70.400064 70.40006
5 3110 24.933857 95.33392 24.933857 95.33392
10 582 4.666079 100.00000 4.666079 100.00000
0 NA NA 0.000000 100.00000
Total 12473 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 10713 85.889521 85.88952 85.889521 85.88952
5 1282 10.278201 96.16772 10.278201 96.16772
10 478 3.832278 100.00000 3.832278 100.00000
0 NA NA 0.000000 100.00000
Total 12473 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 9669 77.519442 77.51944 77.519442 77.51944
5 1732 13.885994 91.40544 13.885994 91.40544
10 1072 8.594564 100.00000 8.594564 100.00000
0 NA NA 0.000000 100.00000
Total 12473 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 11938 95.710735 95.71074 95.710735 95.71074
5 345 2.765975 98.47671 2.765975 98.47671
10 190 1.523290 100.00000 1.523290 100.00000
0 NA NA 0.000000 100.00000
Total 12473 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 7964 63.849916 63.84992 63.849916 63.84992
5 3447 27.635693 91.48561 27.635693 91.48561
10 1062 8.514391 100.00000 8.514391 100.00000
0 NA NA 0.000000 100.00000
Total 12473 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 11694 93.7545097 93.75451 93.7545097 93.75451
5 690 5.5319490 99.28646 5.5319490 99.28646
10 89 0.7135412 100.00000 0.7135412 100.00000
0 NA NA 0.0000000 100.00000
Total 12473 100.0000000 100.00000 100.0000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 11734 94.075202 94.07520 94.075202 94.07520
5 579 4.642027 98.71723 4.642027 98.71723
10 160 1.282771 100.00000 1.282771 100.00000
0 NA NA 0.000000 100.00000
Total 12473 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 9838 78.874369 78.87437 78.874369 78.87437
5 2032 16.291189 95.16556 16.291189 95.16556
10 603 4.834442 100.00000 4.834442 100.00000
0 NA NA 0.000000 100.00000
Total 12473 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 10832 86.843582 86.84358 86.843582 86.84358
5 1164 9.332157 96.17574 9.332157 96.17574
10 477 3.824260 100.00000 3.824260 100.00000
0 NA NA 0.000000 100.00000
Total 12473 100.000000 100.00000 100.000000 100.00000

1.9 Original data (60 months)

ds_60 %>% 
  select(starts_with("q_")) %>% summarytools::freq() %>% kable()
Freq % Valid % Valid Cum. % Total % Total Cum.
0 19080 85.441763 85.44176 85.441763 85.44176
5 2937 13.152120 98.59388 13.152120 98.59388
10 314 1.406117 100.00000 1.406117 100.00000
0 NA NA 0.000000 100.00000
Total 22331 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 14230 63.72308 63.72308 63.72308 63.72308
5 5214 23.34871 87.07178 23.34871 87.07178
10 2887 12.92822 100.00000 12.92822 100.00000
0 NA NA 0.00000 100.00000
Total 22331 100.00000 100.00000 100.00000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 16489 73.839058 73.83906 73.839058 73.83906
5 4835 21.651516 95.49057 21.651516 95.49057
10 1007 4.509426 100.00000 4.509426 100.00000
0 NA NA 0.000000 100.00000
Total 22331 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 17370 77.784246 77.78425 77.784246 77.78425
5 3881 17.379428 95.16367 17.379428 95.16367
10 1080 4.836326 100.00000 4.836326 100.00000
0 NA NA 0.000000 100.00000
Total 22331 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 18083 80.977117 80.97712 80.977117 80.97712
5 3240 14.508978 95.48610 14.508978 95.48610
10 1008 4.513904 100.00000 4.513904 100.00000
0 NA NA 0.000000 100.00000
Total 22331 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 16967 75.979580 75.97958 75.979580 75.97958
5 3500 15.673279 91.65286 15.673279 91.65286
10 1864 8.347141 100.00000 8.347141 100.00000
0 NA NA 0.000000 100.00000
Total 22331 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 16652 74.568985 74.56898 74.568985 74.56898
5 4693 21.015628 95.58461 21.015628 95.58461
10 986 4.415387 100.00000 4.415387 100.00000
0 NA NA 0.000000 100.00000
Total 22331 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 19763 88.500291 88.50029 88.500291 88.50029
5 2276 10.192110 98.69240 10.192110 98.69240
10 292 1.307599 100.00000 1.307599 100.00000
0 NA NA 0.000000 100.00000
Total 22331 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 17211 77.072231 77.07223 77.072231 77.07223
5 3503 15.686713 92.75894 15.686713 92.75894
10 1617 7.241055 100.00000 7.241055 100.00000
0 NA NA 0.000000 100.00000
Total 22331 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 20337 91.070709 91.07071 91.070709 91.07071
5 1768 7.917245 98.98795 7.917245 98.98795
10 226 1.012046 100.00000 1.012046 100.00000
0 NA NA 0.000000 100.00000
Total 22331 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 21546 96.484707 96.48471 96.484707 96.48471
5 441 1.974833 98.45954 1.974833 98.45954
10 344 1.540460 100.00000 1.540460 100.00000
0 NA NA 0.000000 100.00000
Total 22331 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 20431 91.491648 91.49165 91.491648 91.49165
5 822 3.680982 95.17263 3.680982 95.17263
10 1078 4.827370 100.00000 4.827370 100.00000
0 NA NA 0.000000 100.00000
Total 22331 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 18227 81.621961 81.62196 81.621961 81.62196
5 3348 14.992611 96.61457 14.992611 96.61457
10 756 3.385428 100.00000 3.385428 100.00000
0 NA NA 0.000000 100.00000
Total 22331 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 15083 67.542878 67.54288 67.542878 67.54288
5 6124 27.423761 94.96664 27.423761 94.96664
10 1124 5.033362 100.00000 5.033362 100.00000
0 NA NA 0.000000 100.00000
Total 22331 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 15975 71.537325 71.53732 71.537325 71.53732
5 5675 25.413103 96.95043 25.413103 96.95043
10 681 3.049572 100.00000 3.049572 100.00000
0 NA NA 0.000000 100.00000
Total 22331 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 13456 60.25704 60.25704 60.25704 60.25704
5 5085 22.77104 83.02808 22.77104 83.02808
10 3790 16.97192 100.00000 16.97192 100.00000
0 NA NA 0.00000 100.00000
Total 22331 100.00000 100.00000 100.00000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 19557 87.577807 87.57781 87.577807 87.57781
5 2231 9.990596 97.56840 9.990596 97.56840
10 543 2.431597 100.00000 2.431597 100.00000
0 NA NA 0.000000 100.00000
Total 22331 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 20446 91.558820 91.55882 91.558820 91.55882
5 1540 6.896243 98.45506 6.896243 98.45506
10 345 1.544938 100.00000 1.544938 100.00000
0 NA NA 0.000000 100.00000
Total 22331 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 17580 78.724643 78.72464 78.724643 78.72464
5 3555 15.919574 94.64422 15.919574 94.64422
10 1196 5.355783 100.00000 5.355783 100.00000
0 NA NA 0.000000 100.00000
Total 22331 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 17589 78.764946 78.76495 78.764946 78.76495
5 4100 18.360127 97.12507 18.360127 97.12507
10 642 2.874927 100.00000 2.874927 100.00000
0 NA NA 0.000000 100.00000
Total 22331 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 16848 75.446688 75.44669 75.446688 75.44669
5 4443 19.896109 95.34280 19.896109 95.34280
10 1040 4.657203 100.00000 4.657203 100.00000
0 NA NA 0.000000 100.00000
Total 22331 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 20668 92.552953 92.55295 92.552953 92.55295
5 893 3.998925 96.55188 3.998925 96.55188
10 770 3.448121 100.00000 3.448121 100.00000
0 NA NA 0.000000 100.00000
Total 22331 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 21545 96.48023 96.48023 96.48023 96.48023
5 458 2.05096 98.53119 2.05096 98.53119
10 328 1.46881 100.00000 1.46881 100.00000
0 NA NA 0.00000 100.00000
Total 22331 100.00000 100.00000 100.00000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 14573 65.259057 65.25906 65.259057 65.25906
5 6580 29.465765 94.72482 29.465765 94.72482
10 1178 5.275178 100.00000 5.275178 100.00000
0 NA NA 0.000000 100.00000
Total 22331 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 18832 84.331199 84.33120 84.331199 84.33120
5 2467 11.047423 95.37862 11.047423 95.37862
10 1032 4.621378 100.00000 4.621378 100.00000
0 NA NA 0.000000 100.00000
Total 22331 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 17647 79.024674 79.02467 79.024674 79.02467
5 3206 14.356724 93.38140 14.356724 93.38140
10 1478 6.618602 100.00000 6.618602 100.00000
0 NA NA 0.000000 100.00000
Total 22331 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 14105 63.163316 63.16332 63.163316 63.16332
5 6691 29.962832 93.12615 29.962832 93.12615
10 1535 6.873852 100.00000 6.873852 100.00000
0 NA NA 0.000000 100.00000
Total 22331 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 20182 90.3766065 90.37661 90.3766065 90.37661
5 1946 8.7143433 99.09095 8.7143433 99.09095
10 203 0.9090502 100.00000 0.9090502 100.00000
0 NA NA 0.0000000 100.00000
Total 22331 100.0000000 100.00000 100.0000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 20720 92.785813 92.78581 92.785813 92.78581
5 1345 6.023017 98.80883 6.023017 98.80883
10 266 1.191169 100.00000 1.191169 100.00000
0 NA NA 0.000000 100.00000
Total 22331 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 17795 79.687430 79.68743 79.687430 79.68743
5 3425 15.337423 95.02485 15.337423 95.02485
10 1111 4.975147 100.00000 4.975147 100.00000
0 NA NA 0.000000 100.00000
Total 22331 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 13290 59.513680 59.51368 59.513680 59.51368
5 7825 35.040974 94.55465 35.040974 94.55465
10 1216 5.445345 100.00000 5.445345 100.00000
0 NA NA 0.000000 100.00000
Total 22331 100.000000 100.00000 100.000000 100.00000
Freq % Valid % Valid Cum. % Total % Total Cum.
0 18996 85.06560 85.06560 85.06560 85.06560
5 2262 10.12942 95.19502 10.12942 95.19502
10 1073 4.80498 100.00000 4.80498 100.00000
0 NA NA 0.00000 100.00000
Total 22331 100.00000 100.00000 100.00000 100.00000

1.10 Reliability of the original data 48 months

ds_48 %>% 
  select(starts_with("q_")) %>% 
  alpha(.)

Reliability analysis   
Call: alpha(x = .)

 

 lower alpha upper     95% confidence boundaries
0.82 0.83 0.83 

 Reliability if an item is dropped:

 Item statistics 

Non missing response frequency for each item
        0    5   10 miss
q_1  0.89 0.10 0.01    0
q_2  0.67 0.22 0.11    0
q_3  0.82 0.14 0.04    0
q_4  0.84 0.12 0.04    0
q_5  0.84 0.14 0.03    0
q_6  0.79 0.13 0.07    0
q_7  0.76 0.19 0.05    0
q_8  0.74 0.17 0.08    0
q_9  0.92 0.07 0.01    0
q_10 0.94 0.04 0.02    0
q_11 0.91 0.04 0.05    0
q_12 0.78 0.19 0.03    0
q_13 0.77 0.21 0.02    0
q_14 0.91 0.08 0.01    0
q_15 0.92 0.06 0.02    0
q_16 0.63 0.19 0.17    0
q_17 0.90 0.07 0.03    0
q_18 0.83 0.14 0.03    0
q_19 0.78 0.15 0.07    0
q_20 0.84 0.14 0.02    0
q_21 0.81 0.15 0.03    0
q_22 0.94 0.03 0.03    0
q_23 0.97 0.02 0.01    0
q_24 0.70 0.25 0.05    0
q_25 0.86 0.10 0.04    0
q_26 0.78 0.14 0.09    0
q_27 0.96 0.03 0.02    0
q_28 0.64 0.28 0.09    0
q_29 0.94 0.06 0.01    0
q_30 0.94 0.05 0.01    0
q_31 0.79 0.16 0.05    0
q_32 0.87 0.09 0.04    0

1.11 Reliability of the original data 60 months

ds_60 %>% 
  select(starts_with("q_")) %>% 
  alpha(.)

Reliability analysis   
Call: alpha(x = .)

 

 lower alpha upper     95% confidence boundaries
0.84 0.85 0.85 

 Reliability if an item is dropped:

 Item statistics 

Non missing response frequency for each item
        0    5   10 miss
q_1  0.85 0.13 0.01    0
q_2  0.64 0.23 0.13    0
q_3  0.74 0.22 0.05    0
q_4  0.78 0.17 0.05    0
q_5  0.81 0.15 0.05    0
q_6  0.76 0.16 0.08    0
q_7  0.75 0.21 0.04    0
q_8  0.89 0.10 0.01    0
q_9  0.77 0.16 0.07    0
q_10 0.91 0.08 0.01    0
q_11 0.96 0.02 0.02    0
q_12 0.91 0.04 0.05    0
q_13 0.82 0.15 0.03    0
q_14 0.68 0.27 0.05    0
q_15 0.72 0.25 0.03    0
q_16 0.60 0.23 0.17    0
q_17 0.88 0.10 0.02    0
q_18 0.92 0.07 0.02    0
q_19 0.79 0.16 0.05    0
q_20 0.79 0.18 0.03    0
q_21 0.75 0.20 0.05    0
q_22 0.93 0.04 0.03    0
q_23 0.96 0.02 0.01    0
q_24 0.65 0.29 0.05    0
q_25 0.84 0.11 0.05    0
q_26 0.79 0.14 0.07    0
q_27 0.63 0.30 0.07    0
q_28 0.90 0.09 0.01    0
q_29 0.93 0.06 0.01    0
q_30 0.80 0.15 0.05    0
q_31 0.60 0.35 0.05    0
q_32 0.85 0.10 0.05    0

1.12 Table 1 48 months from the published paper

This is from where we are getting the data .. Check here: 10.1111/cch.12649

ds_48 %>% 
  select(sex, score) %>% 
  group_by(sex) %>% 
  summarytools::descr()
Descriptive Statistics  
score by sex  
Data Frame: ds_48  
N: 6495  

                    sex = M   sex = F
----------------- --------- ---------
             Mean     37.38     29.08
          Std.Dev     33.10     27.55
              Min      0.00      0.00
               Q1     15.00     10.00
           Median     30.00     20.00
               Q3     55.00     40.00
              Max    240.00    230.00
              MAD     29.65     22.24
              IQR     40.00     30.00
               CV      0.89      0.95
         Skewness      1.43      1.58
      SE.Skewness      0.03      0.03
         Kurtosis      2.52      3.32
          N.Valid   6495.00   5978.00
        Pct.Valid    100.00    100.00

1.13 Table 1 60 months from the published paper

This is from where we are getting the data .. Check here: 10.1111/cch.12649

ds_60 %>% 
  select(sex, score) %>% 
  group_by(sex) %>% 
  summarytools::descr()
Descriptive Statistics  
score by sex  
Data Frame: ds_60  
N: 11291  

                     sex = 1    sex = 2
----------------- ---------- ----------
             Mean      44.82      34.02
          Std.Dev      36.66      30.44
              Min       0.00       0.00
               Q1      15.00      10.00
           Median      35.00      25.00
               Q3      65.00      50.00
              Max     275.00     290.00
              MAD      29.65      22.24
              IQR      50.00      40.00
               CV       0.82       0.89
         Skewness       1.24       1.49
      SE.Skewness       0.02       0.02
         Kurtosis       1.92       2.91
          N.Valid   11291.00   11040.00
        Pct.Valid     100.00     100.00

1.14 Random 48 months

As described, I’ll get a random sample from the main data (items-only)

set.seed(123)
ds_48_random <- ds_48 %>% sample_n(.,500)

1.15 Random 60 months

60 months

set.seed(15)
ds_60_random <- ds_60 %>% sample_n(.,500)

1.16 Sampling via Fairsubset

library(fairsubset)
check_ds <- fairSubset(ds_60, subset_setting = "ks", manual_N = 500, random_subsets = 10)
ds_60_random2 <- check_ds$best_subset %>% as.data.frame

1.17 Check the randomness of the data

1.17.1 Descriptives

bind_rows(
  ds_60_random %>% mutate(base = "random") %>% select(-months),
  ds_60 %>% mutate(base = "original") %>% select(-months)) %>%
  group_by(base) %>% 
  select(score) %>% 
  summarytools::descr()
Adding missing grouping variables: `base`
Descriptive Statistics  
score by base  
N: 22331  

                    base = original   base = random
----------------- ----------------- ---------------
             Mean             39.48           41.00
          Std.Dev             34.16           36.40
              Min              0.00            0.00
               Q1             15.00           15.00
           Median             30.00           30.00
               Q3             55.00           60.00
              Max            290.00          205.00
              MAD             29.65           29.65
              IQR             40.00           45.00
               CV              0.87            0.89
         Skewness              1.38            1.20
      SE.Skewness              0.02            0.11
         Kurtosis              2.44            1.24
          N.Valid          22331.00          500.00
        Pct.Valid            100.00          100.00

1.17.2 Total scores

bind_rows(
  ds_60_random %>% mutate(base = "random") %>% select(-months),
  ds_60 %>% mutate(base = "original") %>% select(-months)) %>% 
  {t.test(score ~ base, var.equal = T,.)}

    Two Sample t-test

data:  score by base
t = -0.98204, df = 22829, p-value = 0.3261
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -4.551496  1.513030
sample estimates:
mean in group original   mean in group random 
              39.48077               41.00000 
bind_rows(
  ds_60_random %>% mutate(base = "random") %>% select(-months),
  ds_60 %>% mutate(base = "original") %>% select(-months)) %>% 
  {descr::crosstab(.$sex,.$base, chisq = T, plot = F)}
   Cell Contents 
|-------------------------|
|                   Count | 
|-------------------------|

==================================
         .$base
.$sex    original   random   Total
----------------------------------
1           11291      276   11567
----------------------------------
2           11040      224   11264
----------------------------------
Total       22331      500   22831
==================================

Statistics for All Table Factors

Pearson's Chi-squared test 
------------------------------------------------------------
Chi^2 = 4.208733      d.f. = 1      p = 0.0402 

Pearson's Chi-squared test with Yates' continuity correction 
------------------------------------------------------------
Chi^2 = 4.025226      d.f. = 1      p = 0.0448 
        Minimum expected frequency: 246.6821 

1.18 Cronbach’s alpha (Random)

ds_60_random %>% select(starts_with("q")) %>% 
  mutate_all(., ~case_when(. == "0" ~ 1,
                           . == "5" ~ 2,
                           . == "10" ~ 3)) %>% alpha(.)

Reliability analysis   
Call: alpha(x = .)

 

 lower alpha upper     95% confidence boundaries
0.85 0.86 0.88 

 Reliability if an item is dropped:

 Item statistics 

Non missing response frequency for each item
        1    2    3 miss
q_1  0.83 0.15 0.01    0
q_2  0.65 0.22 0.13    0
q_3  0.71 0.25 0.04    0
q_4  0.78 0.16 0.05    0
q_5  0.82 0.13 0.04    0
q_6  0.77 0.13 0.10    0
q_7  0.74 0.20 0.06    0
q_8  0.89 0.08 0.02    0
q_9  0.76 0.15 0.09    0
q_10 0.90 0.09 0.00    0
q_11 0.97 0.02 0.02    0
q_12 0.92 0.04 0.04    0
q_13 0.81 0.17 0.03    0
q_14 0.62 0.34 0.04    0
q_15 0.71 0.26 0.03    0
q_16 0.60 0.22 0.18    0
q_17 0.85 0.13 0.02    0
q_18 0.91 0.07 0.02    0
q_19 0.78 0.18 0.05    0
q_20 0.76 0.19 0.05    0
q_21 0.76 0.18 0.06    0
q_22 0.93 0.03 0.04    0
q_23 0.97 0.02 0.01    0
q_24 0.65 0.29 0.06    0
q_25 0.83 0.11 0.05    0
q_26 0.79 0.15 0.06    0
q_27 0.61 0.31 0.08    0
q_28 0.90 0.09 0.01    0
q_29 0.94 0.05 0.01    0
q_30 0.79 0.15 0.06    0
q_31 0.59 0.35 0.06    0
q_32 0.83 0.11 0.06    0

1.19 Done

LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQphdXRob3I6ICJMdWlzIEFudW5jaWHDp8OjbyINCm91dHB1dDoNCiAgaHRtbF9ub3RlYm9vazoNCiAgICB0b2M6IHllcw0KICAgIHRvY19mbG9hdDogeWVzDQogICAgbnVtYmVyX3NlY3Rpb25zOiB5ZXMNCiAgICB0aGVtZTogdW5pdGVkDQogICAgaGlnaGxpZ2h0OiB0ZXh0bWF0ZQ0KZWRpdG9yX29wdGlvbnM6IA0KICBjaHVua19vdXRwdXRfdHlwZTogaW5saW5lDQotLS0NCg0KDQo8ZGl2IGNsYXNzPSJhbGVydCBhbGVydC1zdWNjZXNzIj4NCjx1Pk5vdGU8L3U+IFRoaXMgaXMgYW4gUiBtYXJrZG93biBkb2N1bWVudCBhbmQgcmVmZXJzIHRvIHRoZSA8dT5kYXRhIHByb2Nlc3Npbmc8L3U+IHN0ZXAgb2YgdGhlIG1hbnVzY3JpcHQgdGl0bGVkICJBbiBFeHBsb3JhdG9yeSBBbmFseXNpcyBvZiB0aGUgSW50ZXJuYWwgU3RydWN0dXJlIG9mIFRlc3QgVGhyb3VnaCBhIE11bHRpLW1ldGhvZHMgRXhwbG9yYXRvcnkgQXBwcm9hY2ggb2YgdGhlIEFTUTpTRSBpbiBCcmF6aWwiLCBieSBMdWlzIEFudW5jaWHDp8OjbywgSmFuZSBTcXVpcmVzLCBBamF5IFNpbmdoLCBhbmQgSi4gTGFuZGVpcmEtRmVybmFuZGV6LiBEYXRhIGFuZCBjb2RlcyBhcmUgYXZhaWxhYmUgYXQgaHR0cHM6Ly9vc2YuaW8vejZnd3YvLiAgDQpGZWVsIGZyZWUgdG8gY29udGFjdCBtZSBhdCBsdWlzZmNhQHB1Yy1yaW8uYnIgIA0KTGFzdCB1cGRhdGU6IGByIGZvcm1hdChTeXMudGltZSgpLCAnJWQgJUIsICVZJylgDQpUaGFuayB5b3UuICANCg0KPC9kaXY+IA0KDQpgYGB7cn0NCiNQYWNrYWdlcw0KcGFjbWFuOjpwX2xvYWQodGlkeXZlcnNlLCAjZW5yaXJvbm1lbnQNCiAgICAgICAgICAgICAgIGtuaXRyLA0KICAgICAgICAgICAgICAgcHN5Y2gpICNjbGFzc2ljYWwgdGVzdA0KYGBgDQoNCiMgRGF0YSBwcm9jZXNzaW5nDQoNCg0KDQojIyBwYWNrYWdlIHZlcnNpb25zDQoNCmBgYHtyfQ0KcGFja2FnZVZlcnNpb24oInBzeWNoIikNCnBhY2thZ2VWZXJzaW9uKCJFR0FOZXQiKQ0KYGBgDQoNCg0KIyMgR2V0IHRoZSByYXcgZGF0YQ0KDQpBbHdheXMgbG9hZCB0aGUgbWFpbiBkYXRhc2V0DQoNCmBgYHtyfQ0KbG9hZCh1cmwoImh0dHBzOi8vb3NmLmlvL2U0bTUzL2Rvd25sb2FkIikpDQojbG9hZCgiQzovVXNlcnMvbHVpc2YvRHJvcGJveC9QdWMtUmlvL1Rlc2UgZSBwYXBlcnMvUi9iYXNlIGVtIFIgKHRvZGFzIGFzIGZhaXhhcyBldGFyaWFzKS5SRGF0YSIpDQpgYGANCg0KDQojIyBDaGFuZ2UgdmVjdG9yIGxhYmVscw0KDQpOb3RlOiAiZGFkb3MiIGFuZCAib3JpZ2luYWwiIHZlY3RvcnMgcmVmZXIgdG8gdGhlIHNhbWUgZGF0YXNldC4gQWxsIGl0ZW1zIHRoYXQgc2hvdWxkIGhhdmUgYmVlbiByZXZlcnNlZCB3ZXJlIHJldmVyc2VkIGFscmVhZHkuDQoNCg0KRm9yIHRoaXMgc3BlY2lmaWMgcGFwZXIsIGNoYW5nZSBsYWJlbHMNCg0KYGBge3J9DQpkc182MCA8LSBvcmlnaW5hbF82MA0KZHNfNDggPC0gb3JpZ2luYWxfNDgNCmRzXzM2IDwtIG9yaWdpbmFsXzM2DQpkc18zMCA8LSBvcmlnaW5hbF8zMA0KZHNfMjQgPC0gb3JpZ2luYWxfMjQNCmRzXzE4IDwtIG9yaWdpbmFsXzE4DQpkc18xMiA8LSBvcmlnaW5hbF8xMg0KDQpiYWNrdXBfNjAgPC0gZHNfNjANCmJhY2t1cF80OCA8LSBkc180OA0KYmFja3VwXzM2IDwtIGRzXzM2DQpiYWNrdXBfMzAgPC0gZHNfMzANCmJhY2t1cF8yNCA8LSBkc18yNA0KYmFja3VwXzE4IDwtIGRzXzE4DQpiYWNrdXBfMTIgPC0gZHNfMTINCg0KYGBgDQoNClRoYW4gSSdsbCByZW1vdmUgYWxsIHRoZSBvdGhlciB0aGluZ3MNCg0KYGBge3J9DQp0by5yZW1vdmUgPC0gbHMoKQ0KdG8ucmVtb3ZlIDwtIGModG8ucmVtb3ZlWyFncmVwbChwYXR0ZXJuID0gIl5kc3xeYmFja3VwIiwgdG8ucmVtb3ZlKV0sICJ0by5yZW1vdmUiKQ0Kcm0obGlzdD10by5yZW1vdmUpDQojcm0obGlzdD1zZXRkaWZmKGxzKCksIGMoImRzIikpKQ0KYGBgDQoNCg0KSW4gdGhpcyBwcm9qZWN0LCB3ZSBhcmUgdXNpbmcgdGhlIDIwMTEgZGF0YSBvbmx5Lg0KDQojIyBEYXRhIHNldCA0OCBtb250aHMNCg0KVGhpcyBkcyB3YXMgbm90IHVzZWQgaW4gdGhpcyBtYW51c2NyaXB0LiBIb3dldmVyLCBmdXR1cmUgYW5hbHlzZXMgd2lsbCB1c2UgaXQuDQoNCmBgYHtyfQ0KZHNfNDggPC0gZHNfNDggJT4lIA0KICBzZWxlY3QoLWMoc3VtX2Vtbywgc3VtX3NvYykpICU+JSANCiAgZmlsdGVyKHllYXIgPT0gIjIwMTEiKSAlPiUgDQogIG11dGF0ZShzY29yZSA9IHJvd1N1bXMoc2VsZWN0KC4sIHN0YXJ0c193aXRoKCJxIikpLCBuYS5ybT1UKSkNCmBgYA0KDQoNCmBgYHtyfQ0KZHNfNDggJT4lIGNvdW50KHllYXIpDQpgYGANCg0KDQojIyBEYXRhIHNldCA2MCBtb250aHMNCg0KVGhpcyBtYW51c2NyaXB0IHdhcyB1c2VkIGluIHRoZSBtYW51c2NyaXB0Lg0KDQpgYGB7cn0NCmRzXzYwIDwtIGRzXzYwICU+JSANCiAgc2VsZWN0KC1jKHN1bV9lbW8sIHN1bV9zb2MpKSAlPiUgDQogIGZpbHRlcih5ZWFyID09ICIyMDExIikgJT4lDQogIG11dGF0ZShzY29yZSA9IHJvd1N1bXMoc2VsZWN0KC4sIHN0YXJ0c193aXRoKCJxIikpLCBuYS5ybT1UKSkNCmBgYA0KDQpgYGB7cn0NCmRzXzYwICU+JSBjb3VudCh5ZWFyKQ0KYGBgDQoNCg0KIyMgVmlzdWFsIGNoZWNrOiBPcmlnaW5hbCBkYXRhICg0OCBtb250aHMpDQoNCmBgYHtyfQ0KZHNfNDggJT4lIA0KICBzZWxlY3Qoc3RhcnRzX3dpdGgoInFfIikpICU+JSANCiAgbXV0YXRlX2FsbChmYWN0b3IpICU+JSANCiAgRGF0YUV4cGxvcmVyOjpwbG90X2JhcigpDQpgYGANCg0KIyMgVmlzdWFsIGNoZWNrOiBPcmlnaW5hbCBkYXRhICg2MCBtb250aHMpDQoNCmBgYHtyfQ0KZHNfNjAgJT4lIA0KICBzZWxlY3Qoc3RhcnRzX3dpdGgoInFfIikpICU+JSANCiAgbXV0YXRlX2FsbChmYWN0b3IpICU+JSANCiAgRGF0YUV4cGxvcmVyOjpwbG90X2JhcigpDQpgYGANCg0KIyMgVGFidWxhciBjaGVjayAoNDggbW9udGhzKQ0KDQpgYGB7cn0NCmRzXzQ4ICU+JSANCiAgc2VsZWN0KHN0YXJ0c193aXRoKCJxXyIpKSAlPiUgc3VtbWFyeXRvb2xzOjpmcmVxKCkgJT4lIGthYmxlKCkNCmBgYA0KDQojIyBPcmlnaW5hbCBkYXRhICg2MCBtb250aHMpDQoNCmBgYHtyfQ0KZHNfNjAgJT4lIA0KICBzZWxlY3Qoc3RhcnRzX3dpdGgoInFfIikpICU+JSBzdW1tYXJ5dG9vbHM6OmZyZXEoKSAlPiUga2FibGUoKQ0KYGBgDQoNCiMjIFJlbGlhYmlsaXR5IG9mIHRoZSBvcmlnaW5hbCBkYXRhIDQ4IG1vbnRocw0KDQpgYGB7cn0NCmRzXzQ4ICU+JSANCiAgc2VsZWN0KHN0YXJ0c193aXRoKCJxXyIpKSAlPiUgDQogIGFscGhhKC4pDQpgYGANCg0KIyMgUmVsaWFiaWxpdHkgb2YgdGhlIG9yaWdpbmFsIGRhdGEgNjAgbW9udGhzDQoNCmBgYHtyfQ0KZHNfNjAgJT4lIA0KICBzZWxlY3Qoc3RhcnRzX3dpdGgoInFfIikpICU+JSANCiAgYWxwaGEoLikNCmBgYA0KDQojIyBUYWJsZSAxIDQ4IG1vbnRocyBmcm9tIHRoZSBwdWJsaXNoZWQgcGFwZXIgDQoNClRoaXMgaXMgZnJvbSB3aGVyZSB3ZSBhcmUgZ2V0dGluZyB0aGUgZGF0YSAuLiBDaGVjayBoZXJlOiAxMC4xMTExL2NjaC4xMjY0OQ0KDQpgYGB7cn0NCmRzXzQ4ICU+JSANCiAgc2VsZWN0KHNleCwgc2NvcmUpICU+JSANCiAgZ3JvdXBfYnkoc2V4KSAlPiUgDQogIHN1bW1hcnl0b29sczo6ZGVzY3IoKQ0KYGBgDQoNCg0KIyMgVGFibGUgMSA2MCBtb250aHMgZnJvbSB0aGUgcHVibGlzaGVkIHBhcGVyIA0KDQpUaGlzIGlzIGZyb20gd2hlcmUgd2UgYXJlIGdldHRpbmcgdGhlIGRhdGEgLi4gQ2hlY2sgaGVyZTogMTAuMTExMS9jY2guMTI2NDkNCg0KYGBge3J9DQpkc182MCAlPiUgDQogIHNlbGVjdChzZXgsIHNjb3JlKSAlPiUgDQogIGdyb3VwX2J5KHNleCkgJT4lIA0KICBzdW1tYXJ5dG9vbHM6OmRlc2NyKCkNCmBgYA0KDQoNCg0KDQoNCg0KIyMgUmFuZG9tIDQ4IG1vbnRocw0KDQpBcyBkZXNjcmliZWQsIEknbGwgZ2V0IGEgcmFuZG9tIHNhbXBsZSBmcm9tIHRoZSBtYWluIGRhdGEgKGl0ZW1zLW9ubHkpDQoNCmBgYHtyfQ0Kc2V0LnNlZWQoMTIzKQ0KZHNfNDhfcmFuZG9tIDwtIGRzXzQ4ICU+JSBzYW1wbGVfbiguLDUwMCkNCmBgYA0KDQoNCiMjIFJhbmRvbSA2MCBtb250aHMNCg0KNjAgbW9udGhzDQoNCmBgYHtyfQ0Kc2V0LnNlZWQoMTUpDQpkc182MF9yYW5kb20gPC0gZHNfNjAgJT4lIHNhbXBsZV9uKC4sNTAwKQ0KYGBgDQoNCg0KIyMgU2FtcGxpbmcgdmlhIEZhaXJzdWJzZXQNCg0KYGBge3IsIGV2YWwgPSBGQUxTRSB9DQpsaWJyYXJ5KGZhaXJzdWJzZXQpDQpjaGVja19kcyA8LSBmYWlyU3Vic2V0KGRzXzYwLCBzdWJzZXRfc2V0dGluZyA9ICJrcyIsIG1hbnVhbF9OID0gNTAwLCByYW5kb21fc3Vic2V0cyA9IDEwKQ0KZHNfNjBfcmFuZG9tMiA8LSBjaGVja19kcyRiZXN0X3N1YnNldCAlPiUgYXMuZGF0YS5mcmFtZQ0KYGBgDQoNCg0KDQojIyBDaGVjayB0aGUgcmFuZG9tbmVzcyBvZiB0aGUgZGF0YQ0KDQojIyMgRGVzY3JpcHRpdmVzDQoNCmBgYHtyIH0NCmJpbmRfcm93cygNCiAgZHNfNjBfcmFuZG9tICU+JSBtdXRhdGUoYmFzZSA9ICJyYW5kb20iKSAlPiUgc2VsZWN0KC1tb250aHMpLA0KICBkc182MCAlPiUgbXV0YXRlKGJhc2UgPSAib3JpZ2luYWwiKSAlPiUgc2VsZWN0KC1tb250aHMpKSAlPiUNCiAgZ3JvdXBfYnkoYmFzZSkgJT4lIA0KICBzZWxlY3Qoc2NvcmUpICU+JSANCiAgc3VtbWFyeXRvb2xzOjpkZXNjcigpDQoNCmBgYA0KDQojIyMgIFRvdGFsIHNjb3Jlcw0KDQpgYGB7cn0NCmJpbmRfcm93cygNCiAgZHNfNjBfcmFuZG9tICU+JSBtdXRhdGUoYmFzZSA9ICJyYW5kb20iKSAlPiUgc2VsZWN0KC1tb250aHMpLA0KICBkc182MCAlPiUgbXV0YXRlKGJhc2UgPSAib3JpZ2luYWwiKSAlPiUgc2VsZWN0KC1tb250aHMpKSAlPiUgDQogIHt0LnRlc3Qoc2NvcmUgfiBiYXNlLCB2YXIuZXF1YWwgPSBULC4pfQ0KYGBgDQoNCg0KYGBge3J9DQpiaW5kX3Jvd3MoDQogIGRzXzYwX3JhbmRvbSAlPiUgbXV0YXRlKGJhc2UgPSAicmFuZG9tIikgJT4lIHNlbGVjdCgtbW9udGhzKSwNCiAgZHNfNjAgJT4lIG11dGF0ZShiYXNlID0gIm9yaWdpbmFsIikgJT4lIHNlbGVjdCgtbW9udGhzKSkgJT4lIA0KICB7ZGVzY3I6OmNyb3NzdGFiKC4kc2V4LC4kYmFzZSwgY2hpc3EgPSBULCBwbG90ID0gRil9DQoNCmBgYA0KDQojIyBDcm9uYmFjaCdzIGFscGhhIChSYW5kb20pDQoNCmBgYHtyfQ0KZHNfNjBfcmFuZG9tICU+JSBzZWxlY3Qoc3RhcnRzX3dpdGgoInEiKSkgJT4lIA0KICBtdXRhdGVfYWxsKC4sIH5jYXNlX3doZW4oLiA9PSAiMCIgfiAxLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgLiA9PSAiNSIgfiAyLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgLiA9PSAiMTAiIH4gMykpICU+JSBhbHBoYSguKQ0KYGBgDQoNCiMjIERvbmUNCg0K