You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
282 lines
14 KiB
R
282 lines
14 KiB
R
##############################################################################
|
|
#----------------------------------------------------------------------------#
|
|
################################### RESALI ###################################
|
|
#----------------------------------------------------------------------------#
|
|
##############################################################################
|
|
|
|
source(paste0(getwd(),"/functions/resali.R"))
|
|
|
|
generate_resali <- function(scenario=NULL,grp=NULL) {
|
|
scen <- as.numeric(gsub("[A,B,C,D,E,F,G,_]","",substr(scenario,0,3)))
|
|
if (substr(scenario,start=nchar(scenario)-1,stop=nchar(scenario))=="50") {
|
|
N <- 50
|
|
}
|
|
if (substr(scenario,start=nchar(scenario)-2,stop=nchar(scenario))=="100") {
|
|
N <- 100
|
|
}
|
|
if (substr(scenario,start=nchar(scenario)-2,stop=nchar(scenario))=="200") {
|
|
N <- 200
|
|
}
|
|
if (substr(scenario,start=nchar(scenario)-2,stop=nchar(scenario))=="300") {
|
|
N <- 300
|
|
}
|
|
if (scen<5) {
|
|
dat <- read.csv(paste0('/home/corentin/Documents/These/Recherche/Simulations/Data/NoDIF/N',N,'/scenario_',scenario,'.csv'))
|
|
}
|
|
if (scen>=5) {
|
|
dat <- read.csv(paste0('/home/corentin/Documents/These/Recherche/Simulations/Data/DIF/N',N,'/scenario_',scenario,'.csv'))
|
|
}
|
|
if (scen%in%c(3,4,13:20)) {
|
|
res <- resali(df=dat[dat$replication==1,],items = seq(1,7),group=grp,verbose=FALSE)
|
|
df_res <- data.frame(dif.detect.1=ifelse(length(res$dif.items)>=1,res$dif.items[1],NA),
|
|
dif.detect.2=ifelse(length(res$dif.items)>=2,res$dif.items[2],NA),
|
|
dif.detect.3=ifelse(length(res$dif.items)>=3,res$dif.items[3],NA),
|
|
dif.detect.4=ifelse(length(res$dif.items)>=4,res$dif.items[4],NA),
|
|
dif.detect.5=ifelse(length(res$dif.items)>=5,res$dif.items[5],NA),
|
|
dif.detect.6=ifelse(length(res$dif.items)>=6,res$dif.items[6],NA),
|
|
dif.detect.7=ifelse(length(res$dif.items)>=7,res$dif.items[7],NA),
|
|
dif.detect.unif.1=ifelse(length(res$uniform)>=1,res$uniform[1],NA),
|
|
dif.detect.unif.2=ifelse(length(res$uniform)>=2,res$uniform[2],NA),
|
|
dif.detect.unif.3=ifelse(length(res$uniform)>=3,res$uniform[3],NA),
|
|
dif.detect.unif.4=ifelse(length(res$uniform)>=4,res$uniform[4],NA),
|
|
dif.detect.unif.5=ifelse(length(res$uniform)>=5,res$uniform[5],NA),
|
|
dif.detect.unif.6=ifelse(length(res$uniform)>=6,res$uniform[6],NA),
|
|
dif.detect.unif.7=ifelse(length(res$uniform)>=7,res$uniform[7],NA),
|
|
N=N,
|
|
nbdif=ifelse(scen<=4,0,ifelse(scen<=16,2,3)),
|
|
true.dif.1=ifelse(scen<=4,NA,unique(dat[dat$replication==1,]$dif1)),
|
|
true.dif.2=ifelse(scen<=4,NA,unique(dat[dat$replication==1,]$dif2)),
|
|
true.dif.3=ifelse(scen<=16,NA,unique(dat[dat$replication==1,]$dif3))
|
|
)
|
|
for (k in 2:1000) {
|
|
if (k%%100==0) {
|
|
cat(paste0('N=',k,'/1000\n'))
|
|
}
|
|
res <- resali(df=dat[dat$replication==k,],items = seq(1,7),group=grp,verbose=FALSE)
|
|
df_res2 <- data.frame(dif.detect.1=ifelse(length(res$dif.items)>=1,res$dif.items[1],NA),
|
|
dif.detect.2=ifelse(length(res$dif.items)>=2,res$dif.items[2],NA),
|
|
dif.detect.3=ifelse(length(res$dif.items)>=3,res$dif.items[3],NA),
|
|
dif.detect.4=ifelse(length(res$dif.items)>=4,res$dif.items[4],NA),
|
|
dif.detect.5=ifelse(length(res$dif.items)>=5,res$dif.items[5],NA),
|
|
dif.detect.6=ifelse(length(res$dif.items)>=6,res$dif.items[6],NA),
|
|
dif.detect.7=ifelse(length(res$dif.items)>=7,res$dif.items[7],NA),
|
|
dif.detect.unif.1=ifelse(length(res$uniform)>=1,res$uniform[1],NA),
|
|
dif.detect.unif.2=ifelse(length(res$uniform)>=2,res$uniform[2],NA),
|
|
dif.detect.unif.3=ifelse(length(res$uniform)>=3,res$uniform[3],NA),
|
|
dif.detect.unif.4=ifelse(length(res$uniform)>=4,res$uniform[4],NA),
|
|
dif.detect.unif.5=ifelse(length(res$uniform)>=5,res$uniform[5],NA),
|
|
dif.detect.unif.6=ifelse(length(res$uniform)>=6,res$uniform[6],NA),
|
|
dif.detect.unif.7=ifelse(length(res$uniform)>=7,res$uniform[7],NA),
|
|
N=N,
|
|
nbdif=ifelse(scen<=4,0,ifelse(scen<=16,2,3)),
|
|
true.dif.1=ifelse(scen<=4,NA,unique(dat[dat$replication==k,]$dif1)),
|
|
true.dif.2=ifelse(scen<=4,NA,unique(dat[dat$replication==k,]$dif2)),
|
|
true.dif.3=ifelse(scen<=16,NA,unique(dat[dat$replication==k,]$dif3)))
|
|
df_res <- rbind(df_res,df_res2)
|
|
}
|
|
}
|
|
else if (scen%in%c(1,2,5:12)) {
|
|
res <- resali(df=dat[dat$replication==1,],items = seq(1,4),group=grp,verbose=FALSE)
|
|
df_res <- data.frame(dif.detect.1=ifelse(length(res$dif.items)>=1,res$dif.items[1],NA),
|
|
dif.detect.2=ifelse(length(res$dif.items)>=2,res$dif.items[2],NA),
|
|
dif.detect.3=ifelse(length(res$dif.items)>=3,res$dif.items[3],NA),
|
|
dif.detect.4=ifelse(length(res$dif.items)>=4,res$dif.items[4],NA),
|
|
dif.detect.unif.1=ifelse(length(res$uniform)>=1,res$uniform[1],NA),
|
|
dif.detect.unif.2=ifelse(length(res$uniform)>=2,res$uniform[2],NA),
|
|
dif.detect.unif.3=ifelse(length(res$uniform)>=3,res$uniform[3],NA),
|
|
dif.detect.unif.4=ifelse(length(res$uniform)>=4,res$uniform[4],NA),
|
|
N=N,
|
|
nbdif=ifelse(scen<=4,0,ifelse(scen<=8,1,2)),
|
|
true.dif.1=ifelse(scen<=4,NA,unique(dat[dat$replication==1,]$dif1)),
|
|
true.dif.2=ifelse(scen<=8,NA,unique(dat[dat$replication==1,]$dif2))
|
|
)
|
|
for (k in 2:1000) {
|
|
if (k%%100==0) {
|
|
cat(paste0('N=',k,'/1000\n'))
|
|
}
|
|
res <- resali(df=dat[dat$replication==k,],items = seq(1,4),group=grp,verbose=FALSE)
|
|
df_res2 <- data.frame(dif.detect.1=ifelse(length(res$dif.items)>=1,res$dif.items[1],NA),
|
|
dif.detect.2=ifelse(length(res$dif.items)>=2,res$dif.items[2],NA),
|
|
dif.detect.3=ifelse(length(res$dif.items)>=3,res$dif.items[3],NA),
|
|
dif.detect.4=ifelse(length(res$dif.items)>=4,res$dif.items[4],NA),
|
|
dif.detect.unif.1=ifelse(length(res$uniform)>=1,res$uniform[1],NA),
|
|
dif.detect.unif.2=ifelse(length(res$uniform)>=2,res$uniform[2],NA),
|
|
dif.detect.unif.3=ifelse(length(res$uniform)>=3,res$uniform[3],NA),
|
|
dif.detect.unif.4=ifelse(length(res$uniform)>=4,res$uniform[4],NA),
|
|
N=N,
|
|
nbdif=ifelse(scen<=4,0,ifelse(scen<=8,1,2)),
|
|
true.dif.1=ifelse(scen<=4,NA,unique(dat[dat$replication==k,]$dif1)),
|
|
true.dif.2=ifelse(scen<=8,NA,unique(dat[dat$replication==k,]$dif2)))
|
|
df_res <- rbind(df_res,df_res2)
|
|
}
|
|
}
|
|
return(df_res)
|
|
}
|
|
|
|
|
|
|
|
results <- c(sapply(1:4,function(x) paste0(x,c('A','B','C','D','E'))),sapply(5:9,function(x) paste0(x,c('A','B','C','D','E','F','G'))))
|
|
|
|
results2 <- c(sapply(10:20,function(x) paste0(x,c('A','B','C','D','E','F','G'))))
|
|
|
|
results <- c(sapply(c(50,100,200,300),function(x) paste0(results,'_',x)))
|
|
|
|
results2 <- c(sapply(c(50,100,200,300),function(x) paste0(results2,'_',x)))
|
|
|
|
results <- sort(results)
|
|
|
|
results2 <- sort(results2)
|
|
|
|
results <- c(results,results2)
|
|
|
|
for (r in results) {
|
|
cat(paste0(r,"\n"))
|
|
cat(paste0("-------------------------------------------","\n"))
|
|
write.csv(generate_resali(r,"TT"),paste0("/home/corentin/Documents/These/Recherche/Simulations/Analysis/RESALI/Detection/",r,".csv"))
|
|
cat(paste0("-------------------------------------------","\n"))
|
|
}
|
|
|
|
##############################################################################
|
|
#----------------------------------------------------------------------------#
|
|
################################### NEWDATA ##################################
|
|
#----------------------------------------------------------------------------#
|
|
##############################################################################
|
|
|
|
## Liste des scenarios
|
|
|
|
results <- c(sapply(1:4,function(x) paste0(x,c('A','B','C','D','E'))),sapply(5:9,function(x) paste0(x,c('A','B','C','D','E','F','G'))))
|
|
|
|
results2 <- c(sapply(10:20,function(x) paste0(x,c('A','B','C','D','E','F','G'))))
|
|
|
|
results <- c(sapply(c(50,100,200,300),function(x) paste0(results,'_',x)))
|
|
|
|
results2 <- c(sapply(c(50,100,200,300),function(x) paste0(results2,'_',x)))
|
|
|
|
results <- sort(results)
|
|
|
|
results2 <- sort(results2)
|
|
|
|
results <- c(results,results2)
|
|
|
|
## Importer l'analyse resali pour chaque scenario
|
|
|
|
for (r in results) {
|
|
cat('--------------------------------------------------------------------------\n')
|
|
cat(paste0(r,"\n"))
|
|
cat('--------------------------------------------------------------------------\n')
|
|
#### Importer les datas
|
|
scen <- as.numeric(gsub("[A,B,C,D,E,F,G,_]","",substr(r,0,3)))
|
|
if (substr(r,start=nchar(r)-1,stop=nchar(r))=="50") {
|
|
N <- 50
|
|
}
|
|
if (substr(r,start=nchar(r)-2,stop=nchar(r))=="100") {
|
|
N <- 100
|
|
}
|
|
if (substr(r,start=nchar(r)-2,stop=nchar(r))=="200") {
|
|
N <- 200
|
|
}
|
|
if (substr(r,start=nchar(r)-2,stop=nchar(r))=="300") {
|
|
N <- 300
|
|
}
|
|
if (scen<5) {
|
|
datt <- read.csv(paste0('/home/corentin/Documents/These/Recherche/Simulations/Data/NoDIF/N',N,'/scenario_',r,'.csv'))
|
|
}
|
|
if (scen>=5) {
|
|
datt <- read.csv(paste0('/home/corentin/Documents/These/Recherche/Simulations/Data/DIF/N',N,'/scenario_',r,'.csv'))
|
|
}
|
|
#### Importer l'analyse
|
|
analyse <- read.csv(paste0('/home/corentin/Documents/These/Recherche/Simulations/Analysis/RESALI/Detection/',r,".csv"))
|
|
#### Pour chaque replication
|
|
for (k in 1:1000) {
|
|
if (k%%100==0) {
|
|
cat(paste0("N = ",k," / 1000\n"))
|
|
}
|
|
datt[datt$replication==k,"dif.detect.1"] <- analyse[analyse$X==k,"dif.detect.1"]
|
|
datt[datt$replication==k,"dif.detect.2"] <- analyse[analyse$X==k,"dif.detect.2"]
|
|
datt[datt$replication==k,"dif.detect.3"] <- analyse[analyse$X==k,"dif.detect.3"]
|
|
datt[datt$replication==k,"dif.detect.4"] <- analyse[analyse$X==k,"dif.detect.4"]
|
|
datt[datt$replication==k,"dif.detect.unif.1"] <- analyse[analyse$X==k,"dif.detect.unif.1"]
|
|
datt[datt$replication==k,"dif.detect.unif.2"] <- analyse[analyse$X==k,"dif.detect.unif.2"]
|
|
datt[datt$replication==k,"dif.detect.unif.3"] <- analyse[analyse$X==k,"dif.detect.unif.3"]
|
|
datt[datt$replication==k,"dif.detect.unif.4"] <- analyse[analyse$X==k,"dif.detect.unif.4"]
|
|
if (scen==3 | scen==4 | scen>=13) {
|
|
datt[datt$replication==k,"dif.detect.5"] <- analyse[analyse$X==k,"dif.detect.5"]
|
|
datt[datt$replication==k,"dif.detect.6"] <- analyse[analyse$X==k,"dif.detect.6"]
|
|
datt[datt$replication==k,"dif.detect.7"] <- analyse[analyse$X==k,"dif.detect.7"]
|
|
datt[datt$replication==k,"dif.detect.unif.5"] <- analyse[analyse$X==k,"dif.detect.unif.5"]
|
|
datt[datt$replication==k,"dif.detect.unif.6"] <- analyse[analyse$X==k,"dif.detect.unif.6"]
|
|
datt[datt$replication==k,"dif.detect.unif.7"] <- analyse[analyse$X==k,"dif.detect.unif.7"]
|
|
}
|
|
}
|
|
datt[is.na(datt$dif.detect.1),"dif.detect.1"] <- ""
|
|
datt[is.na(datt$dif.detect.2),"dif.detect.2"] <- ""
|
|
datt[is.na(datt$dif.detect.3),"dif.detect.3"] <- ""
|
|
datt[is.na(datt$dif.detect.4),"dif.detect.4"] <- ""
|
|
datt[is.na(datt$dif.detect.unif.1),"dif.detect.unif.1"] <- ""
|
|
datt[is.na(datt$dif.detect.unif.2),"dif.detect.unif.2"] <- ""
|
|
datt[is.na(datt$dif.detect.unif.3),"dif.detect.unif.3"] <- ""
|
|
datt[is.na(datt$dif.detect.unif.4),"dif.detect.unif.4"] <- ""
|
|
if (scen==3 | scen==4 | scen>=13) {
|
|
datt[is.na(datt$dif.detect.5),"dif.detect.5"] <- ""
|
|
datt[is.na(datt$dif.detect.6),"dif.detect.6"] <- ""
|
|
datt[is.na(datt$dif.detect.7),"dif.detect.7"] <- ""
|
|
datt[is.na(datt$dif.detect.unif.5),"dif.detect.unif.5"] <- ""
|
|
datt[is.na(datt$dif.detect.unif.6),"dif.detect.unif.6"] <- ""
|
|
datt[is.na(datt$dif.detect.unif.7),"dif.detect.unif.7"] <- ""
|
|
}
|
|
write.csv(datt,paste0("/home/corentin/Documents/These/Recherche/Simulations/Analysis/RESALI/Detection_data/",r,".csv"))
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (r in results) {
|
|
cat('--------------------------------------------------------------------------\n')
|
|
cat(paste0(r,"\n"))
|
|
cat('--------------------------------------------------------------------------\n')
|
|
#### Importer les datas
|
|
scen <- as.numeric(gsub("[A,B,C,D,E,F,G,_]","",substr(r,0,3)))
|
|
if (substr(r,start=nchar(r)-1,stop=nchar(r))=="50") {
|
|
N <- 50
|
|
}
|
|
if (substr(r,start=nchar(r)-2,stop=nchar(r))=="100") {
|
|
N <- 100
|
|
}
|
|
if (substr(r,start=nchar(r)-2,stop=nchar(r))=="200") {
|
|
N <- 200
|
|
}
|
|
if (substr(r,start=nchar(r)-2,stop=nchar(r))=="300") {
|
|
N <- 300
|
|
}
|
|
#### Importer l'analyse
|
|
analyse <- read.csv(paste0("/home/corentin/Documents/These/Recherche/Simulations/Analysis/RESALI/Detection_data/",r,".csv"))
|
|
analyse[is.na(analyse)] <- ""
|
|
names(analyse)[names(analyse)=="dif.detect.1"] <- "dif_detect_1"
|
|
names(analyse)[names(analyse)=="dif.detect.2"] <- "dif_detect_2"
|
|
names(analyse)[names(analyse)=="dif.detect.3"] <- "dif_detect_3"
|
|
names(analyse)[names(analyse)=="dif.detect.4"] <- "dif_detect_4"
|
|
names(analyse)[names(analyse)=="dif.detect.unif.1"] <- "dif_detect_unif_1"
|
|
names(analyse)[names(analyse)=="dif.detect.unif.2"] <- "dif_detect_unif_2"
|
|
names(analyse)[names(analyse)=="dif.detect.unif.3"] <- "dif_detect_unif_3"
|
|
names(analyse)[names(analyse)=="dif.detect.unif.4"] <- "dif_detect_unif_4"
|
|
|
|
|
|
if (scen==3 | scen==4 | scen>=13) {
|
|
names(analyse)[names(analyse)=="dif.detect.5"] <- "dif_detect_5"
|
|
names(analyse)[names(analyse)=="dif.detect.6"] <- "dif_detect_6"
|
|
names(analyse)[names(analyse)=="dif.detect.7"] <- "dif_detect_7"
|
|
names(analyse)[names(analyse)=="dif.detect.unif.5"] <- "dif_detect_unif_5"
|
|
names(analyse)[names(analyse)=="dif.detect.unif.6"] <- "dif_detect_unif_6"
|
|
names(analyse)[names(analyse)=="dif.detect.unif.7"] <- "dif_detect_unif_7"
|
|
|
|
}
|
|
analyse <- analyse[,!names(analyse) %in% c("X","X.1","X.2")]
|
|
write.csv(analyse,paste0("/home/corentin/Documents/These/Recherche/Simulations/Analysis/RESALI/Detection_data/",r,".csv"))
|
|
}
|
|
|