diff --git a/.gitignore b/.gitignore index afed073..36fcaa3 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ *.csv +.Rproj.user diff --git a/RProject/.RData b/RProject/.RData new file mode 100644 index 0000000..ec0b6f7 Binary files /dev/null and b/RProject/.RData differ diff --git a/RProject/.Rhistory b/RProject/.Rhistory new file mode 100644 index 0000000..32ebca5 --- /dev/null +++ b/RProject/.Rhistory @@ -0,0 +1,512 @@ +} +####################################### +## SCENARIO ANALYSIS +####################################### +registerDoMC(4) +######### Scenario 1: J=4 / M=2 / H_0 TRUE +dat1 <- read.csv(file = '/home/corentin/Documents/These/Recherche/Simulations/Data/NoDIF/N100/scenario_1A_100.csv') +dat2 <- read.csv(file = '/home/corentin/Documents/These/Recherche/Simulations/Data/NoDIF/N100/scenario_1A_100.csv') +dat3 <- read.csv(file = '/home/corentin/Documents/These/Recherche/Simulations/Data/NoDIF/N100/scenario_1A_100.csv') +replicate_pcm_analysis(dat1) +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) +} +replicate_pcm_analysis <- function(df=NULL,treatment='TT',irtmodel='PCM2',method='MML',sequence='replication',truebeta=0,eff.size=0,difsize=NA,nbdif=0) { +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') { +n <- max(df[,sequence]) +print(n) +tam1 <- pbmclapply(seq(1,n), +function(x) pcm_analysis(df=df[df[,sequence]==x,],treatment=treatment,irtmodel=irtmodel) +) +} +listitems <- sapply(seq(1,nbitems),function(x) paste0('item',x)) +returndat <- data.frame(matrix(nrow=max(df[,sequence]),ncol=length(listitems))) +colnames(returndat) <- listitems +for (s in seq(1,max(df[,sequence]))) { +for (k in seq(1,nbitems)) { +returndat[s,paste0('item',k)] <- tam1[[s]]$xsi$xsi[k] +} +} +returndat$beta <- sapply(seq(1,max(df[,sequence])),function(k) tam1[[k]]$beta[2]) +returndat$se.beta <- 1.413612*sapply(seq(1,max(df[,sequence])),function(k) tam.se(tam1[[k]])$beta$se.Dim1[2] ) +returndat$low.ci.beta <- returndat$beta-1.96*returndat$se.beta +returndat$high.ci.beta <- returndat$beta+1.96*returndat$se.beta +returndat$true.value.in.ci <- 1*(truebeta>returndat$low.ci.beta & truebetareturndat$low.ci.beta & 0returndat$low.ci.beta & truebetareturndat$low.ci.beta & 0returndat$low.ci.beta & truebetareturndat$low.ci.beta & 0returndat$low.ci.beta & truebetareturndat$low.ci.beta & 0returndat$low.ci.beta & truebetareturndat$low.ci.beta & 0returndat$low.ci.beta & truebetareturndat$low.ci.beta & 0returndat$low.ci.beta & truebetareturndat$low.ci.beta & 0returndat$low.ci.beta & truebetareturndat$low.ci.beta & 0