-
Notifications
You must be signed in to change notification settings - Fork 0
/
Simulation Code.Rmd
1274 lines (1192 loc) · 98.4 KB
/
Simulation Code.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
---
title: "Simulation Code Paper 1"
author: "Montserrat Valdivia"
output: pdf_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
```{r}
path = getwd()
library(tidyverse)
library(dplyr)
library(TAM)
library(R.utils)
install.packages(paste0(path, "/mstRforLR/v1.2/mstRforLR_1.2.zip"),
repos = NULL, type = "win.binary")
library("mstRforLR")
library(readr)
```
### Conditions
```{r}
path = "C:/Users/Montse/OneDrive - Indiana University/Dissertation/Data Analysis/Paper 1"
# Call true item parameters
itembank = read.csv(paste0(path, "/Data/item bank for modules.csv"), header = T)
items = data.frame(itemN = paste0("i", 1:nrow(itembank)),
module = itembank$module,
a = itembank$Slope,
b = itembank$Location,
c = 0,
d = 1)
# Call true group proficiency means and sd (logit scale)
achievement <- read_csv(paste0(path, "/Data/Achievement.csv"))
```
```{r}
#################################################################################
# Assignment of modules #
#################################################################################
modules <- matrix(0, 72, 6)
modules[1:12, 1] <- modules[13:24, 2] <- modules[25:36, 3] <- modules[37:48, 4] <- modules[49:60, 5] <- modules[61:72, 6]<- 1
colSums(modules)
# Cration of the transition matrix to define a 123 MST
trans <- matrix(0, 6, 6)
trans[1, 2:3] <- trans[2, 4:5] <- trans[3, 5:6]<-1
trans
#cut scores
cut_score = matrix(c(2, 3, 7, 4, 5, 9, 5, 6, 17), ncol = 3, byrow = T)
```
```{r}
DIF_conditions = list(
# BASELINE - No DIF percentage or magnitude for each difficulty level (bb)
d01 = list(mm = 0, pp = 0, ll = "Core", rp = 1),
d02 = list(mm = 0, pp = 0, ll = "Stage 1", rp = 1),
d03 = list(mm = 0, pp = 0, ll = "Stage 2", rp = 1),
d04 = list(mm = 0, pp = 0, ll = "Core", rp = .7),
d05 = list(mm = 0, pp = 0, ll = "Stage 1", rp = .7),
d06 = list(mm = 0, pp = 0, ll = "Stage 2", rp = .7),
d07 = list(mm = 0, pp = 0, ll = "Core", rp = .5),
d08 = list(mm = 0, pp = 0, ll = "Stage 1", rp = .5),
d09 = list(mm = 0, pp = 0, ll = "Stage 2", rp = .5),
# Different combinations of DIF when DIF is only on the Core module
d10 = list(mm = .30, pp = 1/12, ll = "Core", rp = 1),
d11 = list(mm = .60, pp = 1/12, ll = "Core", rp = 1),
d12 = list(mm = 1.40, pp = 1/12, ll = "Core", rp = 1),
d13 = list(mm = .30, pp = 3/12, ll = "Core", rp = 1),
d14 = list(mm = .60, pp = 3/12, ll = "Core", rp = 1),
d15 = list(mm = 1.40, pp = 3/12, ll = "Core", rp = 1),
d16 = list(mm = .30, pp = 5/12, ll = "Core", rp = 1),
d17 = list(mm = .60, pp = 5/12, ll = "Core", rp = 1),
d18 = list(mm = 1.40, pp = 5/12, ll = "Core", rp = 1),
d19 = list(mm = .30, pp = 1/12, ll = "Core", rp = .7),
d20 = list(mm = .60, pp = 1/12, ll = "Core", rp = .7),
d21 = list(mm = 1.40, pp = 1/12, ll = "Core", rp = .7),
d22 = list(mm = .30, pp = 3/12, ll = "Core", rp = .7),
d23 = list(mm = .60, pp = 3/12, ll = "Core", rp = .7),
d24 = list(mm = 1.40, pp = 3/12, ll = "Core", rp = .7),
d25 = list(mm = .30, pp = 5/12, ll = "Core", rp = .7),
d26 = list(mm = .60, pp = 5/12, ll = "Core", rp = .7),
d27 = list(mm = 1.40, pp = 5/12, ll = "Core", rp = .7),
d28 = list(mm = .30, pp = 1/12, ll = "Core", rp = .5),
d29 = list(mm = .60, pp = 1/12, ll = "Core", rp = .5),
d30 = list(mm = 1.40, pp = 1/12, ll = "Core", rp = .5),
d31 = list(mm = .30, pp = 3/12, ll = "Core", rp = .5),
d32 = list(mm = .60, pp = 3/12, ll = "Core", rp = .5),
d33 = list(mm = 1.40, pp = 3/12, ll = "Core", rp = .5),
d34 = list(mm = .30, pp = 5/12, ll = "Core", rp = .5),
d35 = list(mm = .60, pp = 5/12, ll = "Core", rp = .5),
d36 = list(mm = 1.40, pp = 5/12, ll = "Core", rp = .5),
# Different combinations of DIF when DIF is only on the Stage 1 modules
d37 = list(mm = .30, pp = 1/12, ll = "Stage 1", rp = 1),
d38 = list(mm = .60, pp = 1/12, ll = "Stage 1", rp = 1),
d39 = list(mm = 1.40, pp = 1/12, ll = "Stage 1", rp = 1),
d40 = list(mm = .30, pp = 3/12, ll = "Stage 1", rp = 1),
d41 = list(mm = .60, pp = 3/12, ll = "Stage 1", rp = 1),
d42 = list(mm = 1.40, pp = 3/12, ll = "Stage 1", rp = 1),
d43 = list(mm = .30, pp = 5/12, ll = "Stage 1", rp = 1),
d44 = list(mm = .60, pp = 5/12, ll = "Stage 1", rp = 1),
d45 = list(mm = 1.40, pp = 5/12, ll = "Stage 1", rp = 1),
d46 = list(mm = .30, pp = 1/12, ll = "Stage 1", rp = .7),
d47 = list(mm = .60, pp = 1/12, ll = "Stage 1", rp = .7),
d48 = list(mm = 1.40, pp = 1/12, ll = "Stage 1", rp = .7),
d49 = list(mm = .30, pp = 3/12, ll = "Stage 1", rp = .7),
d50 = list(mm = .60, pp = 3/12, ll = "Stage 1", rp = .7),
d51 = list(mm = 1.40, pp = 3/12, ll = "Stage 1", rp = .7),
d52 = list(mm = .30, pp = 5/12, ll = "Stage 1", rp = .7),
d53 = list(mm = .60, pp = 5/12, ll = "Stage 1", rp = .7),
d54 = list(mm = 1.40, pp = 5/12, ll = "Stage 1", rp = .7),
d55 = list(mm = .30, pp = 1/12, ll = "Stage 1", rp = .5),
d56 = list(mm = .60, pp = 1/12, ll = "Stage 1", rp = .5),
d57 = list(mm = 1.40, pp = 1/12, ll = "Stage 1", rp = .5),
d58 = list(mm = .30, pp = 3/12, ll = "Stage 1", rp = .5),
d59 = list(mm = .60, pp = 3/12, ll = "Stage 1", rp = .5),
d60 = list(mm = 1.40, pp = 3/12, ll = "Stage 1", rp = .5),
d61 = list(mm = .30, pp = 5/12, ll = "Stage 1", rp = .5),
d62 = list(mm = .60, pp = 5/12, ll = "Stage 1", rp = .5),
d63 = list(mm = 1.40, pp = 5/12, ll = "Stage 1", rp = .5),
# Different combinations of DIF when DIF is only on the Stage 2 modules
d64 = list(mm = .30, pp = 1/12, ll = "Stage 2", rp = 1),
d65 = list(mm = .60, pp = 1/12, ll = "Stage 2", rp = 1),
d66 = list(mm = 1.40, pp = 1/12, ll = "Stage 2", rp = 1),
d67 = list(mm = .30, pp = 3/12, ll = "Stage 2", rp = 1),
d68 = list(mm = .60, pp = 3/12, ll = "Stage 2", rp = 1),
d69 = list(mm = 1.40, pp = 3/12, ll = "Stage 2", rp = 1),
d70 = list(mm = .30, pp = 5/12, ll = "Stage 2", rp = 1),
d71 = list(mm = .60, pp = 5/12, ll = "Stage 2", rp = 1),
d72 = list(mm = 1.40, pp = 5/12, ll = "Stage 2", rp = 1),
d73 = list(mm = .30, pp = 1/12, ll = "Stage 2", rp = .7),
d74 = list(mm = .60, pp = 1/12, ll = "Stage 2", rp = .7),
d75 = list(mm = 1.40, pp = 1/12, ll = "Stage 2", rp = .7),
d76 = list(mm = .30, pp = 3/12, ll = "Stage 2", rp = .7),
d77 = list(mm = .60, pp = 3/12, ll = "Stage 2", rp = .7),
d78 = list(mm = 1.40, pp = 3/12, ll = "Stage 2", rp = .7),
d79 = list(mm = .30, pp = 5/12, ll = "Stage 2", rp = .7),
d80 = list(mm = .60, pp = 5/12, ll = "Stage 2", rp = .7),
d81 = list(mm = 1.40, pp = 5/12, ll = "Stage 2", rp = .7),
d82 = list(mm = .30, pp = 1/12, ll = "Stage 2", rp = .5),
d83 = list(mm = .60, pp = 1/12, ll = "Stage 2", rp = .5),
d84 = list(mm = 1.40, pp = 1/12, ll = "Stage 2", rp = .5),
d85 = list(mm = .30, pp = 3/12, ll = "Stage 2", rp = .5),
d86 = list(mm = .60, pp = 3/12, ll = "Stage 2", rp = .5),
d87 = list(mm = 1.40, pp = 3/12, ll = "Stage 2", rp = .5),
d88 = list(mm = .30, pp = 5/12, ll = "Stage 2", rp = .5),
d89 = list(mm = .60, pp = 5/12, ll = "Stage 2", rp = .5),
d90 = list(mm = 1.40, pp = 5/12, ll = "Stage 2", rp = .5)
)
```
```{r}
data_generation = function(ii, dd, DIFcountry, sample_size){
#define path
path = "C:/Users/Montse/OneDrive - Indiana University/Dissertation/Data Analysis/Paper 1"
# set seed for replication
set.seed(47405*ii)
# select from dif conditions EDIT
mm = DIF_conditions[[dd]][[1]] # DIF magnitude
pp = DIF_conditions[[dd]][[2]] # DIF percentage
ll = DIF_conditions[[dd]][[3]] # DIF location
rp = DIF_conditions[[dd]][[4]] # routing probability
#----------------------------------------#
## Simulate Group Proficiency
#----------------------------------------#
theta <- NULL
theta <- rnorm(sample_size,
mean = as.numeric(achievement[DIFcountry, "Theta"]),
sd = as.numeric(achievement[DIFcountry, "ThetaSD"]))
#----------------------------------------#
## Simulate Item Parameters
#----------------------------------------#
# No DIF
items = items
test_length = nrow(items)/6
# DIF conditions matrix per module
addDIF<-data.frame(V1 = c(rep(0, test_length)), # for discrimination parameter
V2 = c(rep(mm, round(test_length*pp, 0)), # for first location
rep(0, round(test_length*(1-pp),0))), #parameters
V3 = c(rep(0, test_length)),
V4 = c(rep(0, test_length)))
#matrix of zeros
zeros_m<-data.frame(V1 = c(rep(0, test_length)), # for discrimination parameter
V2 = c(rep(0, test_length)),
V3 = c(rep(0, test_length)),
V4 = c(rep(0, test_length)))
#DIF location
if (ll == "Core"){
addDIF1 <- rbind(addDIF, zeros_m, zeros_m, zeros_m, zeros_m, zeros_m)
}else if(ll == "Stage 1"){
addDIF1 <- rbind(zeros_m, addDIF, addDIF, zeros_m, zeros_m, zeros_m)
}else if(ll == "Stage 2"){
addDIF1 <- rbind(zeros_m, zeros_m, zeros_m, addDIF, addDIF, addDIF)
}
# adding DIF to the difficulty parameter only according to country with DIF
if (DIFcountry %in% c(1,2,3)){ # high performers
items_dif = as.data.frame(items[3:ncol(items)] - addDIF1)
}else if (DIFcountry %in% c(4,5,6,7,8,9)){ # medium and low performers
items_dif = as.data.frame(items[3:ncol(items)] + addDIF1)
}else if(DIFcountry == 0) { # Baseline
items_dif = as.data.frame(items[3:ncol(items)])
}
# Item parameters for group 1 and group 2
Allitems = data.frame(rep = ii,
condition = dd,
DIFmag = mm,
DIFper = pp,
DIFloc = ll,
DIFcntry = DIFcountry,
Prob = rp,
N = sample_size,
item = paste0("i", 1:72),
items, items_dif)
#===============================================================================
# MST Response Simulation
#===============================================================================
## Set up an empty dataframe for responses
GenData = data.frame(rep = ii,
condition = dd,
DIFmag = mm,
DIFper = pp,
DIFloc = ll,
DIFcntry = DIFcountry,
Prob = rp,
N = sample_size,
TH0 = theta,
i = matrix(NA, ncol = 72))
### Attach the module membership to each item
it_mod <- data.frame(items_dif,
mod = c(rep(1, 12), rep(2, 12), rep(3, 12),
rep(4, 12), rep(5, 12), rep(6, 12)))
# Use of score estimation for routing
start <- list(fixModule = 1)
test <- list(method = "score",
cutoff = cut_score,
prob = rp)
final <- list(method = "score")
res = NULL
for (kk in 1:sample_size){
res = randomMST(trueTheta = GenData[kk, "TH0"],
itemBank = items_dif[, c("a","b","c","d")],
modules = modules,
transMatrix = trans, start = start,
test = test, final = final)
GenData[ kk, paste0("i.", c(res$testItems)) ] <- res$pattern
GenData[ kk, c("OP1", "OP2")] <- res$best.module
GenData[ kk, c("MOD1", "MOD2", "MOD3")] <- c( res$selected.modules )
}
saveObject(Allitems, file = paste0(path, "/Results/Generated items/items_c", dd,
"_N", sample_size, "_Country", DIFcountry,
"_r", ii, ".Rbin"))
saveObject(GenData, file = paste0(path, "/Results/Generated responses/responses_c", dd,
"_N", sample_size, "_Country", DIFcountry,
"_r", ii, ".Rbin"))
}
#data_generation(ii = 1, dd = 64, DIFcountry = 4, sample_size = 40000)
```
### Data generation paralelization
```{r}
library("parallel")
library("doParallel")
```
```{r}
Nsim = 100
# Set parallel
no_cores <- detectCores() #number of cores that will be used
cl <- makeCluster(no_cores-4) #creates copies of R to run on cores (i.e., computational clusters)
registerDoParallel(cl) #register parallel backend
clusterExport(cl,list('DIF_conditions', 'data_generation',
'itembank', 'items', 'achievement',
'modules', 'trans', 'cut_score', 'path',
'saveObject', 'Nsim', 'randomMST'),
envir=environment())
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 1, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 2, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 3, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 4, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 5, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 6, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 7, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 8, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 9, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 10, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 11, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 12, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 13, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 14, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 15, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 16, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 17, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 18, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 19, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 20, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 21, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 22, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 23, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 24, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 25, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 26, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 27, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 28, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 29, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 30, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 31, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 32, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 33, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 34, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 35, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 36, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 37, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 38, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 39, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 40, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 41, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 42, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 43, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 44, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 45, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 46, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 47, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 48, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 49, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 50, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 51, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 52, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 53, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 54, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 55, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 56, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 57, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 58, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 59, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 60, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 61, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 62, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 63, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 64, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 65, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 66, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 67, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 68, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 69, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 70, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 71, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 72, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 73, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 74, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 75, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 76, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 77, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 78, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 79, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 80, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 81, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 82, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 83, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 84, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 85, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 86, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 87, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 88, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 89, sample_size = 4000, DIFcountry = 1))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 90, sample_size = 4000, DIFcountry = 1))
# stop the core division
stopCluster(cl)
```
```{r}
Nsim = 100
# Set parallel
no_cores <- detectCores() #number of cores that will be used
cl <- makeCluster(no_cores-4) #creates copies of R to run on cores (i.e., computational clusters)
registerDoParallel(cl) #register parallel backend
clusterExport(cl,list('DIF_conditions', 'data_generation',
'itembank', 'items', 'achievement',
'modules', 'trans', 'cut_score', 'path',
'saveObject', 'Nsim', 'randomMST'),
envir=environment())
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 1, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 2, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 3, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 4, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 5, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 6, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 7, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 8, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 9, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 10, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 11, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 12, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 13, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 14, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 15, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 16, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 17, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 18, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 19, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 20, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 21, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 22, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 23, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 24, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 25, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 26, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 27, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 28, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 29, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 30, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 31, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 32, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 33, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 34, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 35, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 36, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 37, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 38, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 39, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 40, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 41, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 42, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 43, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 44, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 45, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 46, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 47, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 48, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 49, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 50, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 51, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 52, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 53, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 54, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 55, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 56, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 57, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 58, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 59, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 60, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 61, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 62, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 63, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 64, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 65, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 66, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 67, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 68, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 69, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 70, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 71, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 72, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 73, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 74, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 75, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 76, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 77, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 78, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 79, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 80, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 81, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 82, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 83, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 84, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 85, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 86, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 87, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 88, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 89, sample_size = 4000, DIFcountry = 2))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 90, sample_size = 4000, DIFcountry = 2))
# stop the core division
stopCluster(cl)
```
```{r}
Nsim = 100
# Set parallel
no_cores <- detectCores() #number of cores that will be used
cl <- makeCluster(no_cores-4) #creates copies of R to run on cores (i.e., computational clusters)
registerDoParallel(cl) #register parallel backend
clusterExport(cl,list('DIF_conditions', 'data_generation',
'itembank', 'items', 'achievement',
'modules', 'trans', 'cut_score', 'path',
'saveObject', 'Nsim', 'randomMST'),
envir=environment())
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 1, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 2, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 3, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 4, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 5, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 6, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 7, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 8, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 9, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 10, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 11, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 12, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 13, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 14, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 15, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 16, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 17, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 18, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 19, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 20, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 21, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 22, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 23, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 24, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 25, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 26, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 27, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 28, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 29, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 30, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 31, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 32, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 33, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 34, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 35, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 36, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 37, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 38, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 39, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 40, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 41, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 42, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 43, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 44, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 45, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 46, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 47, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 48, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 49, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 50, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 51, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 52, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 53, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 54, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 55, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 56, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 57, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 58, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 59, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 60, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 61, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 62, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 63, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 64, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 65, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 66, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 67, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 68, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 69, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 70, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 71, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 72, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 73, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 74, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 75, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 76, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 77, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 78, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 79, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 80, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 81, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 82, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 83, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 84, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 85, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 86, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 87, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 88, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 89, sample_size = 4000, DIFcountry = 3))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 90, sample_size = 4000, DIFcountry = 3))
# stop the core division
stopCluster(cl)
```
```{r}
Nsim = 100
# Set parallel
no_cores <- detectCores() #number of cores that will be used
cl <- makeCluster(no_cores-4) #creates copies of R to run on cores (i.e., computational clusters)
registerDoParallel(cl) #register parallel backend
clusterExport(cl,list('DIF_conditions', 'data_generation',
'itembank', 'items', 'achievement',
'modules', 'trans', 'cut_score', 'path',
'saveObject', 'Nsim', 'randomMST'),
envir=environment())
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 1, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 2, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 3, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 4, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 5, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 6, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 7, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 8, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 9, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 10, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 11, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 12, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 13, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 14, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 15, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 16, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 17, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 18, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 19, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 20, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 21, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 22, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 23, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 24, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 25, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 26, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 27, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 28, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 29, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 30, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 31, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 32, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 33, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 34, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 35, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 36, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 37, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 38, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 39, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 40, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 41, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 42, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 43, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 44, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 45, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 46, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 47, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 48, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 49, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 50, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 51, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 52, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 53, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 54, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 55, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 56, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 57, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 58, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 59, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 60, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 61, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 62, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 63, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 64, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 65, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 66, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 67, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 68, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 69, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 70, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 71, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 72, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 73, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 74, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 75, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 76, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 77, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 78, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 79, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 80, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 81, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 82, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 83, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 84, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 85, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 86, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 87, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 88, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 89, sample_size = 4000, DIFcountry = 4))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 90, sample_size = 4000, DIFcountry = 4))
# stop the core division
stopCluster(cl)
```
```{r}
Nsim = 100
# Set parallel
no_cores <- detectCores() #number of cores that will be used
cl <- makeCluster(no_cores-4) #creates copies of R to run on cores (i.e., computational clusters)
registerDoParallel(cl) #register parallel backend
clusterExport(cl,list('DIF_conditions', 'data_generation',
'itembank', 'items', 'achievement',
'modules', 'trans', 'cut_score', 'path',
'saveObject', 'Nsim', 'randomMST'),
envir=environment())
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 1, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 2, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 3, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 4, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 5, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 6, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 7, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 8, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 9, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 10, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 11, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 12, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 13, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 14, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 15, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 16, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 17, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 18, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 19, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 20, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 21, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 22, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 23, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 24, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 25, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 26, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 27, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 28, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 29, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 30, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 31, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 32, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 33, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 34, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 35, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 36, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 37, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 38, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 39, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 40, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 41, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 42, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 43, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 44, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 45, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 46, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 47, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 48, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 49, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 50, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 51, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 52, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 53, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 54, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 55, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 56, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 57, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 58, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 59, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 60, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 61, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 62, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 63, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 64, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 65, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 66, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 67, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 68, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 69, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 70, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 71, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 72, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 73, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 74, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 75, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 76, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 77, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 78, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 79, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 80, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 81, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 82, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 83, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 84, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 85, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 86, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 87, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 88, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 89, sample_size = 4000, DIFcountry = 5))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 90, sample_size = 4000, DIFcountry = 5))
# stop the core division
stopCluster(cl)
```
```{r}
Nsim = 100
# Set parallel
no_cores <- detectCores() #number of cores that will be used
cl <- makeCluster(no_cores-4) #creates copies of R to run on cores (i.e., computational clusters)
registerDoParallel(cl) #register parallel backend
clusterExport(cl,list('DIF_conditions', 'data_generation',
'itembank', 'items', 'achievement',
'modules', 'trans', 'cut_score', 'path',
'saveObject', 'Nsim', 'randomMST'),
envir=environment())
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 1, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 2, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 3, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 4, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 5, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 6, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 7, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 8, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 9, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 10, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 11, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 12, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 13, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 14, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 15, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 16, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 17, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 18, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 19, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 20, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 21, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 22, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 23, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 24, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 25, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 26, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 27, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 28, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 29, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 30, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 31, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 32, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 33, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 34, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 35, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 36, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 37, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 38, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 39, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 40, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 41, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 42, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 43, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 44, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 45, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 46, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 47, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 48, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 49, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 50, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 51, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 52, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 53, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 54, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 55, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 56, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 57, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 58, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 59, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 60, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 61, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 62, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 63, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 64, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 65, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 66, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 67, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 68, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 69, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 70, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 71, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 72, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 73, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 74, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 75, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 76, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 77, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 78, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 79, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 80, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 81, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 82, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 83, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 84, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 85, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 86, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 87, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 88, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 89, sample_size = 4000, DIFcountry = 6))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 90, sample_size = 4000, DIFcountry = 6))
# stop the core division
stopCluster(cl)
```
```{r}
Nsim = 100
# Set parallel
no_cores <- detectCores() #number of cores that will be used
cl <- makeCluster(no_cores-4) #creates copies of R to run on cores (i.e., computational clusters)
registerDoParallel(cl) #register parallel backend
clusterExport(cl,list('DIF_conditions', 'data_generation',
'itembank', 'items', 'achievement',
'modules', 'trans', 'cut_score', 'path',
'saveObject', 'Nsim', 'randomMST'),
envir=environment())
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 1, sample_size = 4000, DIFcountry = 7))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 2, sample_size = 4000, DIFcountry = 7))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 3, sample_size = 4000, DIFcountry = 7))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 4, sample_size = 4000, DIFcountry = 7))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 5, sample_size = 4000, DIFcountry = 7))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 6, sample_size = 4000, DIFcountry = 7))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 7, sample_size = 4000, DIFcountry = 7))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 8, sample_size = 4000, DIFcountry = 7))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 9, sample_size = 4000, DIFcountry = 7))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 10, sample_size = 4000, DIFcountry = 7))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 11, sample_size = 4000, DIFcountry = 7))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 12, sample_size = 4000, DIFcountry = 7))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 13, sample_size = 4000, DIFcountry = 7))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 14, sample_size = 4000, DIFcountry = 7))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 15, sample_size = 4000, DIFcountry = 7))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 16, sample_size = 4000, DIFcountry = 7))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 17, sample_size = 4000, DIFcountry = 7))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 18, sample_size = 4000, DIFcountry = 7))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 19, sample_size = 4000, DIFcountry = 7))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 20, sample_size = 4000, DIFcountry = 7))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 21, sample_size = 4000, DIFcountry = 7))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 22, sample_size = 4000, DIFcountry = 7))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 23, sample_size = 4000, DIFcountry = 7))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 24, sample_size = 4000, DIFcountry = 7))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 25, sample_size = 4000, DIFcountry = 7))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 26, sample_size = 4000, DIFcountry = 7))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 27, sample_size = 4000, DIFcountry = 7))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 28, sample_size = 4000, DIFcountry = 7))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 29, sample_size = 4000, DIFcountry = 7))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 30, sample_size = 4000, DIFcountry = 7))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 31, sample_size = 4000, DIFcountry = 7))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 32, sample_size = 4000, DIFcountry = 7))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 33, sample_size = 4000, DIFcountry = 7))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 34, sample_size = 4000, DIFcountry = 7))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 35, sample_size = 4000, DIFcountry = 7))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 36, sample_size = 4000, DIFcountry = 7))
parSapply(cl, 1:Nsim, function(ii) data_generation(ii, dd = 37, sample_size = 4000, DIFcountry = 7))