res<-read.table('comp.txt', fill=T)
res<-res[ !is.na(res[,65]) ,]
res<-res[, 2:65]
## population parameter values
pop<-c(0,0,.39, .39, 0, 1, 1, .1521)
n<-dim(res)[1]
for (i in 1:8){
temp<-res[, ((i-1)*8+1):(i*8)]
if (pop[i] ==0){
bias<-(mean(temp[,1])-pop[i])*100
}else{
bias<-(mean(temp[,1])-pop[i])*100/pop[i]
}
cvg1<-sum(temp[,3]pop[i])/n
pow1<-sum(temp[,3]>0 | temp[,4]<0)/n
cvg2<-sum(temp[,5]pop[i])/n
pow2<-sum(temp[,5]>0 | temp[,6]<0)/n
cvg3<-sum(temp[,7]pop[i])/n
pow3<-sum(temp[,7]>0 | temp[,8]<0)/n
cat(c(i, bias, cvg1, pow1, cvg2, pow2, cvg3, pow3), "\n")
}
#############################
## function to print the results
proc.res<-function(pat,r){
filename<-paste(pat,'/',pat,'-',r,'.txt', sep='')
res<-read.table(filename, fill=T)
res<-res[ !is.na(res[,65]) ,]
res<-res[, 2:65]
## population parameter values
pop<-c(0,0,.39, .39, 0, 1, 1, .1521)
n<-dim(res)[1]
cat(pat,' ',r,' ',n,'\n')
for (i in 1:8){
temp<-res[, ((i-1)*8+1):(i*8)]
bias<-(mean(temp[,1])-pop[i])*100
cvg1<-sum(temp[,3]pop[i])/n
pow1<-sum(temp[,3]>0 | temp[,4]<0)/n
cvg2<-sum(temp[,5]pop[i])/n
pow2<-sum(temp[,5]>0 | temp[,6]<0)/n
cvg3<-sum(temp[,7]pop[i])/n
pow3<-sum(temp[,7]>0 | temp[,8]<0)/n
cat(c(i, bias, cvg1, pow1, cvg2, pow2, cvg3, pow3), "\n")
}
cat('\n\n')
}
## process all results
pat<-c('mcar','mcar0','mcar1','mcar2','mar','mar0','mar1','mar2','mnar','mnar0','mnar1','mnar2','mnar0-1','mnar1-1','mnar2-1')
## copy bmem to the folders
for (mis in pat){
if (substr(mis,1,3)=="mar"){
rate<-c(1.5,4,9)
}else{
rate<-c(.1,.2,.4)
}
for (i in 1:3){
proc.res(mis, rate[i])
}
}
New codes for results processing
runone<-function(filename, par){
temp<-read.table(filename, fill=T)
if (dim(temp)[2]==1){
c(0,0,0)
}else{
par<-par*par
if (par==0){
bias<-100*(mean(temp[,2],na.rm=T)-par)
}else{
bias<-100*(mean(temp[,2],na.rm=T)-par)/par
}
n<-dim(temp)[1]
cvg<-mean((temp[,6]par), na.rm=T)*100
power<-mean((temp[,6]>0) | (temp[,7]<0), na.rm=T)*100
c(bias, cvg, power)
}
}
for (ab in c(0, .14, .39, .59)){
for (N in c(50,100,200)){
for (miss in c('MCAR','MAR','MNAR1', 'MNAR2')){
for (rate in c(.1,.2,.4) ){
for (av in c('av','noav')){
res.name<-paste('ab',ab,'N',N,miss,'M',rate,av,'-em-results.txt',sep='')
if (file.exists(res.name)){
cat(ab, N, miss, rate, av, runone(res.name, ab),'\n') }
}
}
}
}
}
}