x <- c(41086,39690,43129,37863,35953,29133,24693,22205,21725,27192,21790,13253,37702,30364,32609,30212,29965,28352,25814,22414,20506,28806,22228,13971,36845,35338,35022,34777,26887,23970,22780,17351,21382,24561,17409,11514,31514,27071,29462,26105,22397,23843,21705,18089,20764,25316,17704,15548,28029,29383,36438,32034,22679,24319,18004,17537,20366,22782,19169,13807,29743,25591,29096,26482,22405,27044,17970,18730,19684,19785,18479,10698) par1 = '12' par1 <- '12' #'GNU S' R Code compiled by R2WASP v. 1.2.291 () #Author: root #To cite this work: Wessa P., (2012), Standard Deviation Plot (v1.0.2) in Free Statistics Software (v$_version), Office for Research Development and Education, URL http://www.wessa.net/rwasp_sdplot.wasp/ #Source of accompanying publication: Office for Research, Development, and Education # par1 <- as.numeric(par1) (n <- length(x)) (np <- floor(n / par1)) arr <- array(NA,dim=c(par1,np+1)) ari <- array(0,dim=par1) j <- 0 for (i in 1:n) { j = j + 1 ari[j] = ari[j] + 1 arr[j,ari[j]] <- x[i] if (j == par1) j = 0 } ari arr arr.sd <- array(NA,dim=par1) arr.range <- array(NA,dim=par1) arr.iqr <- array(NA,dim=par1) for (j in 1:par1) { arr.sd[j] <- sqrt(var(arr[j,],na.rm=TRUE)) arr.range[j] <- max(arr[j,],na.rm=TRUE) - min(arr[j,],na.rm=TRUE) arr.iqr[j] <- quantile(arr[j,],0.75,na.rm=TRUE) - quantile(arr[j,],0.25,na.rm=TRUE) } overall.sd <- sqrt(var(x)) overall.range <- max(x) - min(x) overall.iqr <- quantile(x,0.75) - quantile(x,0.25) postscript(file="/var/fisher/rcomp/tmp/1s2d01387741071.ps",horizontal=F,onefile=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) plot(arr.sd,type='b',ylab='S.D.',main='Standard Deviation Plot',xlab='Periodic Index') mtext(paste('# blocks = ',np)) abline(overall.sd,0) dev.off() postscript(file="/var/fisher/rcomp/tmp/278pw1387741071.ps",horizontal=F,onefile=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) plot(arr.range,type='b',ylab='range',main='Range Plot',xlab='Periodic Index') mtext(paste('# blocks = ',np)) abline(overall.range,0) dev.off() postscript(file="/var/fisher/rcomp/tmp/34nru1387741071.ps",horizontal=F,onefile=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) plot(arr.iqr,type='b',ylab='IQR',main='Interquartile Range Plot',xlab='Periodic Index') mtext(paste('# blocks = ',np)) abline(overall.iqr,0) dev.off() postscript(file="/var/fisher/rcomp/tmp/4z5xj1387741071.ps",horizontal=F,onefile=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) z <- data.frame(t(arr)) names(z) <- c(1:par1) (boxplot(z,notch=TRUE,col='grey',xlab='Periodic Index',ylab='Value',main='Notched Box Plots - Periodic Subseries')) dev.off() postscript(file="/var/fisher/rcomp/tmp/59wv51387741071.ps",horizontal=F,onefile=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) z <- data.frame(arr) names(z) <- c(1:np) (boxplot(z,notch=TRUE,col='grey',xlab='Block Index',ylab='Value',main='Notched Box Plots - Sequential Blocks')) dev.off() postscript(file="/var/fisher/rcomp/tmp/6ntec1387741071.ps",horizontal=F,onefile=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) z <- data.frame(cbind(arr.sd,arr.range,arr.iqr)) names(z) <- list('S.D.','Range','IQR') (boxplot(z,notch=TRUE,col='grey',ylab='Overall Variability',main='Notched Box Plots')) dev.off() try(system("convert tmp/1s2d01387741071.ps tmp/1s2d01387741071.png",intern=TRUE)) try(system("convert tmp/278pw1387741071.ps tmp/278pw1387741071.png",intern=TRUE)) try(system("convert tmp/34nru1387741071.ps tmp/34nru1387741071.png",intern=TRUE)) try(system("convert tmp/4z5xj1387741071.ps tmp/4z5xj1387741071.png",intern=TRUE)) try(system("convert tmp/59wv51387741071.ps tmp/59wv51387741071.png",intern=TRUE)) try(system("convert tmp/6ntec1387741071.ps tmp/6ntec1387741071.png",intern=TRUE))