Corrected bugs + TAM dif analysis
This commit is contained in:
1006
RProject/.Rhistory
1006
RProject/.Rhistory
File diff suppressed because it is too large
Load Diff
27
RProject/dif.R
Normal file
27
RProject/dif.R
Normal file
@ -0,0 +1,27 @@
|
||||
library(mirt)
|
||||
|
||||
pcm_analysis <- function(df=NULL,treatment='TT',irtmodel='PCM2',method='MML') {
|
||||
nbitems <- sum(sapply(1:20,function(x) paste0('item',x)) %in% colnames(df))
|
||||
resp <- df[,sapply(seq(1,nbitems),function(x) paste0('item',x))]
|
||||
if (method=='MML') {
|
||||
tam1 <- tam.mml(resp=resp,Y=df[,treatment],irtmodel = irtmodel,est.variance = T,verbose=F)
|
||||
}
|
||||
if (method=='JML') {
|
||||
tam1 <- tam.jml(resp=resp,group=1+df[,treatment])
|
||||
}
|
||||
if (method!='MML' & method!='JML') {
|
||||
stop('Invalid method. Please choose among MML or JML')
|
||||
}
|
||||
return(tam1)
|
||||
}
|
||||
|
||||
dff <- read.csv(file = '/home/corentin/Documents/These/Recherche/Simulations/Data/DIF/N50/scenario_5A_50.csv')
|
||||
dfff <- dff[dff$replication==1,]
|
||||
facets <- dfff$TT
|
||||
dfff$item2_noTT <- NA
|
||||
dfff$item2_TT <- NA
|
||||
dfff[dfff$TT==0,]$item2_noTT <- dfff[dfff$TT==0,"item2"]
|
||||
dfff[dfff$TT==1,]$item2_TT <- dfff[dfff$TT==1,"item2"]
|
||||
|
||||
mml.mod <- tam.mml(resp=dfff[,c('item1','item2_noTT','item2_TT',"item3","item4")],Y=dfff$TT,constraint='cases'
|
||||
,irtmodel = "PCM2",est.variance = T,verbose=F)
|
@ -71,7 +71,7 @@
|
||||
mat outmat[`k',`nbitems'+4] = `difitems1' // numéro item de dif
|
||||
restore
|
||||
}
|
||||
putexcel set "`path_res'/out/5`scen'_`Nn'.xls", sheet("outmat") replace
|
||||
putexcel set "`path_res'/5`scen'_`Nn'.xls", sheet("outmat") replace
|
||||
putexcel A1=matrix(outmat), colnames
|
||||
}
|
||||
}
|
||||
@ -149,7 +149,7 @@ forvalues k=1/1000 {
|
||||
mat outmat[`k',3*`nbitems'+6] = `difitems1' // numéro item de dif
|
||||
restore
|
||||
}
|
||||
putexcel set "`path_res'/out/6`scen'_`Nn'.xls", sheet("outmat") replace
|
||||
putexcel set "`path_res'/6`scen'_`Nn'.xls", sheet("outmat") replace
|
||||
putexcel A1=matrix(outmat), colnames
|
||||
}
|
||||
}
|
||||
@ -208,7 +208,7 @@ putexcel A1=matrix(outmat), colnames
|
||||
mat outmat[`k',`nbitems'+4] = `difitems1' // numéro item de dif
|
||||
restore
|
||||
}
|
||||
putexcel set "`path_res'/out/7`scen'_`Nn'.xls", sheet("outmat") replace
|
||||
putexcel set "`path_res'/7`scen'_`Nn'.xls", sheet("outmat") replace
|
||||
putexcel A1=matrix(outmat), colnames
|
||||
}
|
||||
}
|
||||
@ -286,7 +286,7 @@ forvalues k=1/1000 {
|
||||
mat outmat[`k',3*`nbitems'+6] = `difitems1' // numéro item de dif
|
||||
restore
|
||||
}
|
||||
putexcel set "`path_res'/out/8`scen'_`Nn'.xls", sheet("outmat") replace
|
||||
putexcel set "`path_res'/8`scen'_`Nn'.xls", sheet("outmat") replace
|
||||
putexcel A1=matrix(outmat), colnames
|
||||
}
|
||||
}
|
||||
@ -364,7 +364,7 @@ adopath+"/home/corentin/Documents/These/Recherche/Simulations/Modules/"
|
||||
mat outmat[`k',`nbitems'+6] = `difitemsmax' // numéro item de dif
|
||||
restore
|
||||
}
|
||||
putexcel set "`path_res'/out/9`scen'_`Nn'.xls", sheet("outmat") replace
|
||||
putexcel set "`path_res'/9`scen'_`Nn'.xls", sheet("outmat") replace
|
||||
putexcel A1=matrix(outmat), colnames
|
||||
}
|
||||
}
|
||||
@ -474,7 +474,7 @@ forvalues k=1/1000 {
|
||||
mat outmat[`k',3*`nbitems'+10] = `difitemsmax' // numéro item de dif
|
||||
restore
|
||||
}
|
||||
putexcel set "`path_res'/out/10`scen'_`Nn'.xls", sheet("outmat") replace
|
||||
putexcel set "`path_res'/10`scen'_`Nn'.xls", sheet("outmat") replace
|
||||
putexcel A1=matrix(outmat), colnames
|
||||
}
|
||||
}
|
||||
@ -548,7 +548,7 @@ putexcel A1=matrix(outmat), colnames
|
||||
mat outmat[`k',`nbitems'+6] = `difitemsmax' // numéro item de dif
|
||||
restore
|
||||
}
|
||||
putexcel set "`path_res'/out/11`scen'_`Nn'.xls", sheet("outmat") replace
|
||||
putexcel set "`path_res'/11`scen'_`Nn'.xls", sheet("outmat") replace
|
||||
putexcel A1=matrix(outmat), colnames
|
||||
}
|
||||
}
|
||||
@ -658,7 +658,7 @@ forvalues k=1/1000 {
|
||||
mat outmat[`k',3*`nbitems'+10] = `difitemsmax' // numéro item de dif
|
||||
restore
|
||||
}
|
||||
putexcel set "`path_res'/out/12`scen'_`Nn'.xls", sheet("outmat") replace
|
||||
putexcel set "`path_res'/12`scen'_`Nn'.xls", sheet("outmat") replace
|
||||
putexcel A1=matrix(outmat), colnames
|
||||
}
|
||||
}
|
||||
@ -742,7 +742,7 @@ adopath+"/home/corentin/Documents/These/Recherche/Simulations/Modules/"
|
||||
mat outmat[`k',`nbitems'+6] = `difitemsmax' // numéro item de dif
|
||||
restore
|
||||
}
|
||||
putexcel set "`path_res'/out/13`scen'_`Nn'.xls", sheet("outmat") replace
|
||||
putexcel set "`path_res'/13`scen'_`Nn'.xls", sheet("outmat") replace
|
||||
putexcel A1=matrix(outmat), colnames
|
||||
}
|
||||
}
|
||||
@ -852,7 +852,7 @@ forvalues k=1/1000 {
|
||||
mat outmat[`k',3*`nbitems'+10] = `difitemsmax' // numéro item de dif
|
||||
restore
|
||||
}
|
||||
putexcel set "`path_res'/out/14`scen'_`Nn'.xls", sheet("outmat") replace
|
||||
putexcel set "`path_res'/14`scen'_`Nn'.xls", sheet("outmat") replace
|
||||
putexcel A1=matrix(outmat), colnames
|
||||
}
|
||||
}
|
||||
@ -926,7 +926,7 @@ putexcel A1=matrix(outmat), colnames
|
||||
mat outmat[`k',`nbitems'+6] = `difitemsmax' // numéro item de dif
|
||||
restore
|
||||
}
|
||||
putexcel set "`path_res'/out/15`scen'_`Nn'.xls", sheet("outmat") replace
|
||||
putexcel set "`path_res'/15`scen'_`Nn'.xls", sheet("outmat") replace
|
||||
putexcel A1=matrix(outmat), colnames
|
||||
}
|
||||
}
|
||||
@ -1036,7 +1036,7 @@ forvalues k=1/1000 {
|
||||
mat outmat[`k',3*`nbitems'+10] = `difitemsmax' // numéro item de dif
|
||||
restore
|
||||
}
|
||||
putexcel set "`path_res'/out/16`scen'_`Nn'.xls", sheet("outmat") replace
|
||||
putexcel set "`path_res'/16`scen'_`Nn'.xls", sheet("outmat") replace
|
||||
putexcel A1=matrix(outmat), colnames
|
||||
}
|
||||
}
|
||||
@ -1130,7 +1130,7 @@ adopath+"/home/corentin/Documents/These/Recherche/Simulations/Modules/"
|
||||
mat outmat[`k',`nbitems'+8] = `difitemsmax' // numéro item de dif
|
||||
restore
|
||||
}
|
||||
putexcel set "`path_res'/out/17`scen'_`Nn'.xls", sheet("outmat") replace
|
||||
putexcel set "`path_res'/17`scen'_`Nn'.xls", sheet("outmat") replace
|
||||
putexcel A1=matrix(outmat), colnames
|
||||
}
|
||||
}
|
||||
@ -1274,7 +1274,7 @@ forvalues k=1/1000 {
|
||||
mat outmat[`k',3*`nbitems'+14] = `difitemsmax' // numéro item de dif
|
||||
restore
|
||||
}
|
||||
putexcel set "`path_res'/out/18`scen'_`Nn'.xls", sheet("outmat") replace
|
||||
putexcel set "`path_res'/18`scen'_`Nn'.xls", sheet("outmat") replace
|
||||
putexcel A1=matrix(outmat), colnames
|
||||
}
|
||||
}
|
||||
@ -1363,7 +1363,7 @@ putexcel A1=matrix(outmat), colnames
|
||||
mat outmat[`k',`nbitems'+8] = `difitemsmax' // numéro item de dif
|
||||
restore
|
||||
}
|
||||
putexcel set "`path_res'/out/19`scen'_`Nn'.xls", sheet("outmat") replace
|
||||
putexcel set "`path_res'/19`scen'_`Nn'.xls", sheet("outmat") replace
|
||||
putexcel A1=matrix(outmat), colnames
|
||||
}
|
||||
}
|
||||
@ -1507,7 +1507,7 @@ forvalues k=1/1000 {
|
||||
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 set "`path_res'/20`scen'_`Nn'.xls", sheet("outmat") replace
|
||||
putexcel A1=matrix(outmat), colnames
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user