Completed n=50 DIF analysis

main
Corentin Choisy 10 months ago
parent e3f0637db3
commit 510aca9bac

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -0,0 +1,516 @@
************************************************** Scenario 20: J = 7 items / M = 4 modalities / DIF size 0.3 x3
local N = "50"
foreach Nnn in `N' {
local Nn = `Nnn'
local path_data = "/home/corentin/Documents/These/Recherche/Simulations/Data/DIF/N`Nn'"
local path_res = "/home/corentin/Documents/These/Recherche/Simulations/Analysis/DIF/N`Nn'"
local scenarios = "A B C D E F G"
foreach scen in `scenarios' {
clear
import delim "`path_data'/scenario_20`scen'_`Nn'.csv", encoding(ISO-8859-2) case(preserve) clear
rename TT tt
* Matrice de taille 1000 * 4 items + 1 DIF + beta + std beta + 1 dif
local nbitems = 7
local nbdif = 3
local taillemat = 3*`nbitems'+9+2+`nbdif'
mat outmat = J(1000,`taillemat',.)
mat colnames outmat = "item1_1" "item1_2" "item1_3" "item2_1" "item2_2" "item2_3" "item3_1" "item3_2" "item3_3" "item4_1" "item4_2" "item4_3" "item5_1" "item5_2" "item5_3" "item6_1" "item6_2" "item6_3" "item7_1" "item7_2" "item7_3" "dif1_1" "dif1_2" "dif1_3" "dif2_1" "dif2_2" "dif2_3" "dif3_1" "dif3_2" "dif3_3" "beta" "se_beta" "dif_item_1" "dif_item_2" "dif_item_3"
di "Scenario 20`scen' / N=`Nnn'"
forvalues k=1/1000 {
if (mod(`k',100)==0) {
di "`k'/1000"
}
preserve
qui keep if replication==`k'
* MERGE des modalités si non représentées
local com_z = 0
qui gen comz = 0
forvalues j = 1 / `nbitems' {
local recoda_`j' = 0
qui tab item`j' if tt == 0, matrow(rect1_g0_`j') matcell(nbrt1_g0_`j')
local maxm`j'_t1_g0 = rect1_g0_`j'[r(r),1]
local minm`j'_t1_g0 = rect1_g0_`j'[1,1]
qui tab item`j' if tt == 1, matrow(rect1_g1_`j') matcell(nbrt1_g1_`j')
local minm`j'_t1_g1 = rect1_g1_`j'[1,1]
local maxm`j'_t1_g1 = rect1_g1_`j'[r(r),1]
local minm_`j' = min(`minm`j'_t1_g0',`minm`j'_t1_g1')
local maxm_`j' = max(`maxm`j'_t1_g0',`maxm`j'_t1_g1')
local nbm_`j' = `=`maxm_`j''-`minm_`j'''
if `minm_`j'' != 0 & `com_z' == 0 {
local com_z = 1
}
qui count if item`j' == 3 & tt == 0
local mod3plac = r(N)
qui count if item`j' == 3 & tt == 1
local mod3tt = r(N)
local nb_rn3 = min(`mod3plac',`mod3tt')
if `nb_rn3'==0 {
qui replace comz = 1
}
forvalues m = 0/`=`nbm_`j''-1' {
qui count if item`j' == `m' & tt == 0
local nb_rn1_g0 = r(N)
qui count if item`j' == `m' & tt == 1
local nb_rn1_g1 = r(N)
local nb_rn = min(`nb_rn1_g0',`nb_rn1_g1')
if `nb_rn' == 0 {
qui replace comz = 1
local recoda_`j' = 1
if `m' == 0 | `m' < `minm`j'_t1_g0' | `m' < `minm`j'_t1_g1' {
local stop = 1
forvalues kk = 1/`=`nbm_`j''-`m'' {
qui count if item`j' == `=`m' + `kk'' & tt == 0
local v`kk'1_0 = r(N)
qui count if item`j' == `=`m' + `kk'' & tt == 1
local v`kk'1_1 = r(N)
if (`v`kk'1_0' != 0 | `v`kk'1_1' != 0) & `stop' != 0 {
qui replace item`j'= `=`m'+`kk'' if item`j'==`m'
local zzz=`j'+`nbitems'
*qui replace item`zzz'=`=`m'+`kk'' if item``=`j'+`nbitems'''==`m'
*di "WARNING SCENARIO `k': items `j': answers `m' and `=`m'+`kk'' merged"
local stop = 0
}
}
}
else if `m' == `=`nbm_`j''-1' | `m' >= `maxm`j'_t1_g1' {
local stop = 1
forvalues kk = 1/`=`m'' {
qui count if item`j' == `=`m' - `kk'' & tt == 0
local v`kk'1_0 = r(N)
qui count if item`j' == `=`m' - `kk'' & tt == 1
local v`kk'1_1 = r(N)
if (`v`kk'1_0' != 0 | `v`kk'1_1' != 0) & `stop' != 0 {
qui replace item`j'= `=`m' - `kk'' if item`j'==`m'
local zzz=`j'+`nbitems'
*qui replace item`zzz'= `=`m' - `kk'' if item`zzz'==`m'
*di "WARNING SCENARIO `k': items `j': answers `m' and `=`m'+`kk'' merged"
local stop = 0
}
}
}
else {
if runiform()>0.5{
local stop = 1
forvalues kk = 1/`m' {
qui count if item`j' == `=`m' - `kk'' & tt == 0
local v`kk'1_0 = r(N)
qui count if item`j' == `=`m' - `kk'' & tt == 1
local v`kk'1_1 = r(N)
if (`v`kk'1_0' != 0 | `v`kk'1_1' != 0) & `stop' != 0 {
qui replace item`j'= `=`m'-`kk'' if item`j'==`m'
local zzz=`j'+`nbitems'
*qui replace item`zzz'=`=`m'-`kk'' if item``=`j'+`nbitems'''==`m'
*di "WARNING SCENARIO `k': items `j': answers `m' and `=`m'+`kk'' merged"
local stop = 0
}
}
}
else {
local stop = 1
forvalues kk = 1/`=`nbm_`j''-`m'' {
qui count if item`j' == `=`m' + `kk'' & tt == 0
local v`kk'1_0 = r(N)
qui count if item`j' == `=`m' + `kk'' & tt == 1
local v`kk'1_1 = r(N)
if (`v`kk'1_0' != 0 | `v`kk'1_1' != 0) & `stop' != 0{
qui replace item`j'=`=`m' + `kk'' if item`j'==`m'
local zzz=`j'+`nbitems'
*qui replace item`zzz'=`=`m' + `kk'' if item``=`j'+`nbitems'''==`m'
*di "WARNING SCENARIO `k': items `j': answers `m' and `=`m'+`kk'' merged"
local stop = 0
}
else {
if `stop' != 0 {
qui replace item`j'= `nbm_`j'' if item`j'==`m'
local zzz=`j'+`nbitems'
*qui replace item`zzz'= `nbm_`j'' if item``=`j'+`nbitems'''==`m'
*di "WARNING SCENARIO `k': items `j': answers `m' and `=`m'+`kk'' merged"
local stop = 0
}
}
}
}
}
}
}
qui levelsof item`j'
local val = r(levels)
local checker: word 1 of `val'
local checker2: word 2 of `val'
local checker3: word 3 of `val'
local nummoda=r(r)
if (`nummoda'==2) {
qui recode item`j' (`checker'=0) (`checker2'=1)
}
if (`nummoda'==3) {
if (`checker'!=0) {
qui recode item`j' (`checker'=0) (`checker2'=1) (`checker3'=2)
}
else if (`checker2'!=1) {
qui recode item`j' (`checker2'=1) (`checker3'=2)
}
else if (`checker3'!=2) {
qui recode item`j' (`checker3'=2)
}
}
}
qui valuesof comz
local val = r(values)
local checker: word 1 of `val'
* replications avec 3 mod
if (`checker' == 1) {
local difitems1=dif1
local difitems2=dif2
local difitems3=dif3
local difcheck = 0
local difcheck2 = 0
local difcheck3 = 0
forvalues i=1/`nbitems' {
qui sum item`i'
local checker2 = r(max)
if (`i'==`difitems1') {
if (`checker2'==3) {
local difcheck = 1
local constrnt = "constraint 1 2*([1.item`i']_cons-([1.item`i']_cons+[1.item`i'] tt))=([2.item`i']_cons-([2.item`i']_cons+[2.item`i'] tt))"
local constrnt3 = "constraint 3 3*([1.item`i']_cons-([1.item`i']_cons+[1.item`i'] tt))=([3.item`i']_cons-([3.item`i']_cons+[3.item`i'] tt))"
}
else if (`checker2'==2) {
local constrnt = "constraint 1 2*([1.item`i']_cons-([1.item`i']_cons+[1.item`i'] tt))=([2.item`i']_cons-([2.item`i']_cons+[2.item`i'] tt))"
}
else if (`checker2'==1) {
local difcheck = 2
}
}
if (`i'==`difitems2') {
if (`checker2'==3) {
local difcheck2=1
local constrnt2 = "constraint 2 2*([1.item`i']_cons-([1.item`i']_cons+[1.item`i'] tt))=([2.item`i']_cons-([2.item`i']_cons+[2.item`i'] tt))"
local constrnt4 = "constraint 4 3*([1.item`i']_cons-([1.item`i']_cons+[1.item`i'] tt))=([3.item`i']_cons-([3.item`i']_cons+[3.item`i'] tt))"
}
else if (`checker2'==2) {
local constrnt2 = "constraint 2 2*([1.item`i']_cons-([1.item`i']_cons+[1.item`i'] tt))=([2.item`i']_cons-([2.item`i']_cons+[2.item`i'] tt))"
}
else if (`checker2'==1) {
local difcheck2 = 2
}
}
if (`i'==`difitems3') {
if (`checker2'==3) {
local difcheck3=1
local constrnt5 = "constraint 5 2*([1.item`i']_cons-([1.item`i']_cons+[1.item`i'] tt))=([2.item`i']_cons-([2.item`i']_cons+[2.item`i'] tt))"
local constrnt6 = "constraint 6 3*([1.item`i']_cons-([1.item`i']_cons+[1.item`i'] tt))=([3.item`i']_cons-([3.item`i']_cons+[3.item`i'] tt))"
}
else if (`checker2'==2) {
local constrnt5 = "constraint 5 2*([1.item`i']_cons-([1.item`i']_cons+[1.item`i'] tt))=([2.item`i']_cons-([2.item`i']_cons+[2.item`i'] tt))"
}
else if (`checker2'==1) {
local difcheck3 = 2
}
}
}
local mod "gsem "
forvalues i=1/`nbitems' {
qui sum item`i'
local checker2 = r(max)
if (`i'==`difitems1'| `i'==`difitems2'| `i'==`difitems3') {
if (`checker2'==3) {
local mod = "`mod'"+"(1.item`i'<-THETA@1 tt)(2.item`i'<-THETA@2 tt)(3.item`i'<-THETA@3 tt)"
}
else if (`checker2'==3) {
local mod = "`mod'"+"(1.item`i'<-THETA@1 tt)(2.item`i'<-THETA@2 tt)"
}
else {
local mod = "`mod'"+"(1.item`i'<-THETA@1 tt)"
}
}
else {
if (`checker2'==3) {
local mod = "`mod'"+"(1.item`i'<-THETA@1)(2.item`i'<-THETA@2)(3.item`i'<-THETA@3)"
}
else if (`checker2'==2) {
local mod = "`mod'"+"(1.item`i'<-THETA@1)(2.item`i'<-THETA@2)"
}
else {
local mod = "`mod'"+"(1.item`i'<-THETA@1)"
}
}
}
if (`difcheck'==1) {
if (`difcheck2'==1) {
if (`difcheck3'==1) {
local mod = "`mod'" + "(THETA<-tt), mlogit tol(0.01) iterate(500) latent(THETA) nocapslatent constraint(1 2 3 4 5 6)"
}
else if (`difcheck3'==0) {
local mod = "`mod'" + "(THETA<-tt), mlogit tol(0.01) iterate(500) latent(THETA) nocapslatent constraint(1 2 3 4 5)"
}
else if (`difcheck3'==2) {
local mod = "`mod'" + "(THETA<-tt), mlogit tol(0.01) iterate(500) latent(THETA) nocapslatent constraint(1 2 3 4)"
}
}
else if (`difcheck2'==0) {
if (`difcheck3'==1) {
local mod = "`mod'" + "(THETA<-tt), mlogit tol(0.01) iterate(500) latent(THETA) nocapslatent constraint(1 2 3 5 6)"
}
else if (`difcheck3'==0) {
local mod = "`mod'" + "(THETA<-tt), mlogit tol(0.01) iterate(500) latent(THETA) nocapslatent constraint(1 2 3 5)"
}
else if (`difcheck3'==2) {
local mod = "`mod'" + "(THETA<-tt), mlogit tol(0.01) iterate(500) latent(THETA) nocapslatent constraint(1 2 3)"
}
}
else if (`difcheck2'==2) {
if (`difcheck3'==1) {
local mod = "`mod'" + "(THETA<-tt), mlogit tol(0.01) iterate(500) latent(THETA) nocapslatent constraint(1 3 5 6)"
}
else if (`difcheck3'==0) {
local mod = "`mod'" + "(THETA<-tt), mlogit tol(0.01) iterate(500) latent(THETA) nocapslatent constraint(1 3 5)"
}
else if (`difcheck3'==2) {
local mod = "`mod'" + "(THETA<-tt), mlogit tol(0.01) iterate(500) latent(THETA) nocapslatent constraint(1 3)"
}
}
}
else if (`difcheck'==1) {
if (`difcheck2'==1) {
if (`difcheck3'==1) {
local mod = "`mod'" + "(THETA<-tt), mlogit tol(0.01) iterate(500) latent(THETA) nocapslatent constraint(1 2 4 5 6)"
}
else if (`difcheck3'==0) {
local mod = "`mod'" + "(THETA<-tt), mlogit tol(0.01) iterate(500) latent(THETA) nocapslatent constraint(1 2 4 5)"
}
else if (`difcheck3'==2) {
local mod = "`mod'" + "(THETA<-tt), mlogit tol(0.01) iterate(500) latent(THETA) nocapslatent constraint(1 2 4)"
}
}
else if (`difcheck2'==0) {
if (`difcheck3'==1) {
local mod = "`mod'" + "(THETA<-tt), mlogit tol(0.01) iterate(500) latent(THETA) nocapslatent constraint(1 2 5 6)"
}
else if (`difcheck3'==0) {
local mod = "`mod'" + "(THETA<-tt), mlogit tol(0.01) iterate(500) latent(THETA) nocapslatent constraint(1 2 5)"
}
else if (`difcheck3'==2) {
local mod = "`mod'" + "(THETA<-tt), mlogit tol(0.01) iterate(500) latent(THETA) nocapslatent constraint(1 2)"
}
}
else if (`difcheck2'==2) {
if (`difcheck3'==1) {
local mod = "`mod'" + "(THETA<-tt), mlogit tol(0.01) iterate(500) latent(THETA) nocapslatent constraint(1 5 6)"
}
else if (`difcheck3'==0) {
local mod = "`mod'" + "(THETA<-tt), mlogit tol(0.01) iterate(500) latent(THETA) nocapslatent constraint(1 5)"
}
else if (`difcheck3'==2) {
local mod = "`mod'" + "(THETA<-tt), mlogit tol(0.01) iterate(500) latent(THETA) nocapslatent constraint(1)"
}
}
}
else if (`difcheck'==2) {
if (`difcheck2'==1) {
if (`difcheck3'==1) {
local mod = "`mod'" + "(THETA<-tt), mlogit tol(0.01) iterate(500) latent(THETA) nocapslatent constraint(2 4 5 6)"
}
else if (`difcheck3'==0) {
local mod = "`mod'" + "(THETA<-tt), mlogit tol(0.01) iterate(500) latent(THETA) nocapslatent constraint(2 4 5)"
}
else if (`difcheck3'==2) {
local mod = "`mod'" + "(THETA<-tt), mlogit tol(0.01) iterate(500) latent(THETA) nocapslatent constraint(2 4)"
}
}
else if (`difcheck2'==0) {
if (`difcheck3'==1) {
local mod = "`mod'" + "(THETA<-tt), mlogit tol(0.01) iterate(500) latent(THETA) nocapslatent constraint(2 5 6)"
}
else if (`difcheck3'==0) {
local mod = "`mod'" + "(THETA<-tt), mlogit tol(0.01) iterate(500) latent(THETA) nocapslatent constraint(2 5)"
}
else if (`difcheck3'==2) {
local mod = "`mod'" + "(THETA<-tt), mlogit tol(0.01) iterate(500) latent(THETA) nocapslatent constraint(2)"
}
}
else if (`difcheck2'==2) {
if (`difcheck3'==1) {
local mod = "`mod'" + "(THETA<-tt), mlogit tol(0.01) iterate(500) latent(THETA) nocapslatent constraint(5 6)"
}
else if (`difcheck3'==0) {
local mod = "`mod'" + "(THETA<-tt), mlogit tol(0.01) iterate(500) latent(THETA) nocapslatent constraint(5)"
}
else if (`difcheck3'==2) {
local mod = "`mod'" + "(THETA<-tt), mlogit tol(0.01) iterate(500) latent(THETA) nocapslatent"
}
}
}
if (`difcheck'!=2) {
qui `constrnt'
}
if (`difcheck2'!=2) {
qui `constrnt2'
}
if (`difcheck3'!=2) {
qui `constrnt5'
}
if (`difcheck'==1) {
qui `constrnt3'
}
if (`difcheck2'==1) {
qui `constrnt4'
}
if (`difcheck3'==1) {
qui `constrnt6'
}
qui `mod'
mat V=r(table)
mat W=V[1..2,1...]
forvalues j=1/`nbitems' {
mat outmat[`k',3*`j'-2] = W[1,colnumb(W,"1.item`j':_cons")] // items avant le premier dif
mat outmat[`k',3*`j'-1] = W[1,colnumb(W,"2.item`j':_cons")] // items avant le premier dif
mat outmat[`k',3*`j'] = W[1,colnumb(W,"3.item`j':_cons")] // items avant le premier dif
}
mat outmat[`k',3*`nbitems'+1] = W[1,colnumb(W,"1.item`difitems1':tt")] // coef de dif
mat outmat[`k',3*`nbitems'+2] = W[1,colnumb(W,"2.item`difitems1':tt")] // coef de dif
mat outmat[`k',3*`nbitems'+3] = W[1,colnumb(W,"3.item`difitems1':tt")] // coef de dif
mat outmat[`k',3*`nbitems'+4] = W[1,colnumb(W,"1.item`difitems2':tt")] // coef de dif
mat outmat[`k',3*`nbitems'+5] = W[1,colnumb(W,"2.item`difitems2':tt")] // coef de dif
mat outmat[`k',3*`nbitems'+6] = W[1,colnumb(W,"3.item`difitems2':tt")] // coef de dif
mat outmat[`k',3*`nbitems'+7] = W[1,colnumb(W,"1.item`difitems3':tt")] // coef de dif
mat outmat[`k',3*`nbitems'+8] = W[1,colnumb(W,"2.item`difitems3':tt")] // coef de dif
mat outmat[`k',3*`nbitems'+9] = W[1,colnumb(W,"3.item`difitems3':tt")] // coef de dif
mat outmat[`k',3*`nbitems'+10] = W[1,colnumb(W,"THETA:tt")] // beta
mat outmat[`k',3*`nbitems'+11] = W[2,colnumb(W,"THETA:tt")] // se beta
mat outmat[`k',3*`nbitems'+12] = `difitems1' // numéro item de dif
mat outmat[`k',3*`nbitems'+13] = `difitems2' // numéro item de dif
mat outmat[`k',3*`nbitems'+14] = `difitems3' // numéro item de dif
restore
}
* replications sans problèmes
else {
local difitems1=dif1
local difitems2=dif2
local difitems3=dif3
if (`difitems1' < `difitems2') {
local difitemsmin= `difitems1'
local difitemsmax= `difitems2'
}
else {
local difitemsmin= `difitems2'
local difitemsmax= `difitems1'
}
if (`difitems3' < `difitemsmin') {
local difitemsmid = `difitemsmin'
local difitemsmin= `difitems3'
}
else if (`difitems3' > `difitemsmax') {
local difitemsmid = `difitemsmax'
local difitemsmax= `difitems3'
}
else {
local difitemsmid = `difitems3'
}
forvalues i=1/`nbitems' {
if (`i'==`difitemsmin') {
local constrnt = "constraint 1 2*([1.item`i']_cons-([1.item`i']_cons+[1.item`i'] tt))=([2.item`i']_cons-([2.item`i']_cons+[2.item`i'] tt))"
local constrnt2 = "constraint 2 3*([1.item`i']_cons-([1.item`i']_cons+[1.item`i'] tt))=([3.item`i']_cons-([3.item`i']_cons+[3.item`i'] tt))"
}
}
forvalues i=1/`nbitems' {
if (`i'==`difitemsmax') {
local constrn3 = "constraint 3 2*([1.item`i']_cons-([1.item`i']_cons+[1.item`i'] tt))=([2.item`i']_cons-([2.item`i']_cons+[2.item`i'] tt))"
local constrnt4 = "constraint 4 3*([1.item`i']_cons-([1.item`i']_cons+[1.item`i'] tt))=([3.item`i']_cons-([3.item`i']_cons+[3.item`i'] tt))"
}
}
forvalues i=1/`nbitems' {
if (`i'==`difitemsmid') {
local constrn5 = "constraint 5 2*([1.item`i']_cons-([1.item`i']_cons+[1.item`i'] tt))=([2.item`i']_cons-([2.item`i']_cons+[2.item`i'] tt))"
local constrnt6 = "constraint 6 3*([1.item`i']_cons-([1.item`i']_cons+[1.item`i'] tt))=([3.item`i']_cons-([3.item`i']_cons+[3.item`i'] tt))"
}
}
local mod "gsem "
forvalues i=1/`nbitems' {
if (`i'==`difitemsmin' | `i'==`difitemsmax' | `i'==`difitemsmid') {
local mod = "`mod'"+"(1.item`i'<-THETA@1 tt)(2.item`i'<-THETA@2 tt)(3.item`i'<-THETA@3 tt)"
}
else {
local mod = "`mod'"+"(1.item`i'<-THETA@1)(2.item`i'<-THETA@2)(3.item`i'<-THETA@3)"
}
}
local mod = "`mod'" + "(THETA<-tt), mlogit tol(0.01) iterate(500) latent(THETA) nocapslatent constraint(1 2 3 4 5 6)"
qui `constrnt'
qui `constrnt2'
qui `constrnt3'
qui `constrnt4'
qui `constrnt6'
qui `constrnt6'
qui `mod'
mat V=r(table)
mat W=V[1..2,1...]
forvalues j=1/`nbitems' {
if (`j'<`difitemsmin') {
mat outmat[`k',3*`j'-2] = W[1,7*(`j'-1)+3] // items avant le premier dif
mat outmat[`k',3*`j'-1] = W[1,7*(`j'-1)+5] // items avant le premier dif
mat outmat[`k',3*`j'] = W[1,7*(`j'-1)+7] // items avant le premier dif
}
else if (`j'==`difitemsmin') {
mat outmat[`k',3*`j'-2] = W[1,7*(`j'-1)+4] // items du le premier dif
mat outmat[`k',3*`j'-1] = W[1,7*(`j'-1)+7] // items du le premier dif
mat outmat[`k',3*`j'] = W[1,7*(`j'-1)+10] // items du le premier dif }
}
else if (`j'<`difitemsmid') {
mat outmat[`k',3*`j'-2] = W[1,7*(`j'-1)+6] // items avant le premier dif
mat outmat[`k',3*`j'-1] = W[1,7*(`j'-1)+8] // items avant le premier dif
mat outmat[`k',3*`j'] = W[1,7*(`j'-1)+10] // items avant le premier dif
}
else if (`j'==`difitemsmid') {
mat outmat[`k',3*`j'-2] = W[1,7*(`j'-1)+7] // items avant le premier dif
mat outmat[`k',3*`j'-1] = W[1,7*(`j'-1)+10] // items avant le premier dif
mat outmat[`k',3*`j'] = W[1,7*(`j'-1)+13] // items avant le premier dif
}
else if (`j'<`difitemsmax') {
mat outmat[`k',3*`j'-2] = W[1,7*(`j'-1)+9] // items avant le premier dif
mat outmat[`k',3*`j'-1] = W[1,7*(`j'-1)+11] // items avant le premier dif
mat outmat[`k',3*`j'] = W[1,7*(`j'-1)+13] // items avant le premier dif
}
else if (`j'==`difitemsmax') {
mat outmat[`k',3*`j'-2] = W[1,7*(`j'-1)+10] // items avant le premier dif
mat outmat[`k',3*`j'-1] = W[1,7*(`j'-1)+13] // items avant le premier dif
mat outmat[`k',3*`j'] = W[1,7*(`j'-1)+16] // items avant le premier dif
}
else {
mat outmat[`k',3*`j'-2] = W[1,7*(`j'-1)+12] // items avant le premier dif
mat outmat[`k',3*`j'-1] = W[1,7*(`j'-1)+14] // items avant le premier dif
mat outmat[`k',3*`j'] = W[1,7*(`j'-1)+16] // items avant le premier dif
}
}
mat outmat[`k',3*`nbitems'+1] = W[1,7*(`difitemsmin'-1)+2] // coef de dif
mat outmat[`k',3*`nbitems'+2] = W[1,7*(`difitemsmin'-1)+5] // coef de dif
mat outmat[`k',3*`nbitems'+3] = W[1,7*(`difitemsmin'-1)+8] // coef de dif
mat outmat[`k',3*`nbitems'+4] = W[1,7*(`difitemsmid'-1)+5] // coef de dif
mat outmat[`k',3*`nbitems'+5] = W[1,7*(`difitemsmid'-1)+8] // coef de dif
mat outmat[`k',3*`nbitems'+6] = W[1,7*(`difitemsmid'-1)+11] // coef de dif
mat outmat[`k',3*`nbitems'+7] = W[1,7*(`difitemsmax'-1)+8] // coef de dif
mat outmat[`k',3*`nbitems'+8] = W[1,7*(`difitemsmax'-1)+11] // coef de dif
mat outmat[`k',3*`nbitems'+9] = W[1,7*(`difitemsmax'-1)+14] // coef de dif
mat outmat[`k',3*`nbitems'+10] = W[1,7*`nbitems'+10] // beta
mat outmat[`k',3*`nbitems'+11] = W[2,7*`nbitems'+10] // se beta
mat outmat[`k',3*`nbitems'+12] = `difitemsmin' // numéro item de dif
mat outmat[`k',3*`nbitems'+13] = `difitemsmid' // numéro item de dif
mat outmat[`k',3*`nbitems'+14] = `difitemsmax' // numéro item de dif
restore
}
}
putexcel set "`path_res'/out/20`scen'_`Nn'.xls", sheet("outmat") replace
putexcel A1=matrix(outmat), colnames
}
}
Loading…
Cancel
Save