x <- c(1.49,1.55,1.57,1.6,1.61,1.68,1.72,1.72,1.73,1.74,1.74,1.75,1.75,1.75,1.75,1.76,1.76,1.77,1.78,1.78,1.78,1.78,1.78,1.79,1.79,1.79,1.79,1.79,1.79,1.8,1.8,1.8,1.8,1.8,1.81,1.81,1.82,1.82,1.82,1.82,1.83,1.83,1.84,1.84,1.84,1.85,1.85,1.85,1.86,1.86,1.86,1.86,1.87,1.87,1.87,1.87,1.88,1.9,1.9,1.91,1.91,1.91,1.92,1.92,1.92,1.92,1.92,1.92,1.92,1.92,1.93,1.93,1.93,1.94,1.95,1.95,1.95,1.95,1.98,1.98,2.01,2.02,2.11,2.14) 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/1axtl1387735693.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/26npw1387735693.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/3xkco1387735693.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/4wd7o1387735693.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/51ewa1387735693.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/6pee21387735693.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/1axtl1387735693.ps tmp/1axtl1387735693.png",intern=TRUE)) try(system("convert tmp/26npw1387735693.ps tmp/26npw1387735693.png",intern=TRUE)) try(system("convert tmp/3xkco1387735693.ps tmp/3xkco1387735693.png",intern=TRUE)) try(system("convert tmp/4wd7o1387735693.ps tmp/4wd7o1387735693.png",intern=TRUE)) try(system("convert tmp/51ewa1387735693.ps tmp/51ewa1387735693.png",intern=TRUE)) try(system("convert tmp/6pee21387735693.ps tmp/6pee21387735693.png",intern=TRUE))