R version 3.0.2 (2013-09-25) -- "Frisbee Sailing" Copyright (C) 2013 The R Foundation for Statistical Computing Platform: x86_64-pc-linux-gnu (64-bit) R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > x <- c(100.05,100.05,100.05,100.05,100.05,108.77,111.32,111.6,108.52,103.13,102.87,102.75,102.75,102.75,102.75,102.75,102.75,115.22,115.53,115.4,111.99,107.93,107.43,106.98,106.98,106.98,106.98,106.98,106.98,113.71,118.77,118.54,116.16,110.52,110.06,109.9,109.9,110.72,110.09,110.07,112.45,113.06,119.83,119.84,113.73,110.5,110.12,109.86,110.36,110.36,110.59,112.52,112.1,115.9,122.96,121.26,114.55,111.57,110.65,109.77,112.38,112.35,112.2,114.46,116.26,119.57,127.77,126.59,120.45,116.38,116.3,115.05,115.05,115.22,115.19,116.07,120.42,121.88,130.74,130.74,124.64,120.5,120.1,119.62) > 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)) [1] 84 > (np <- floor(n / par1)) [1] 7 > 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 [1] 7 7 7 7 7 7 7 7 7 7 7 7 > arr [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [1,] 100.05 102.75 106.98 109.90 110.36 112.38 115.05 NA [2,] 100.05 102.75 106.98 110.72 110.36 112.35 115.22 NA [3,] 100.05 102.75 106.98 110.09 110.59 112.20 115.19 NA [4,] 100.05 102.75 106.98 110.07 112.52 114.46 116.07 NA [5,] 100.05 102.75 106.98 112.45 112.10 116.26 120.42 NA [6,] 108.77 115.22 113.71 113.06 115.90 119.57 121.88 NA [7,] 111.32 115.53 118.77 119.83 122.96 127.77 130.74 NA [8,] 111.60 115.40 118.54 119.84 121.26 126.59 130.74 NA [9,] 108.52 111.99 116.16 113.73 114.55 120.45 124.64 NA [10,] 103.13 107.93 110.52 110.50 111.57 116.38 120.50 NA [11,] 102.87 107.43 110.06 110.12 110.65 116.30 120.10 NA [12,] 102.75 106.98 109.90 109.86 109.77 115.05 119.62 NA > 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/wessaorg/rcomp/tmp/1w9j11426176472.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() null device 1 > postscript(file="/var/wessaorg/rcomp/tmp/28nyr1426176472.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() null device 1 > postscript(file="/var/wessaorg/rcomp/tmp/39l741426176472.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() null device 1 > postscript(file="/var/wessaorg/rcomp/tmp/4rzx81426176472.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')) $stats [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [1,] 100.050 100.050 100.050 100.050 100.050 108.770 111.320 111.600 108.520 [2,] 104.865 104.865 104.865 104.865 104.865 113.385 117.150 116.970 112.860 [3,] 109.900 110.360 110.090 110.070 112.100 115.220 119.830 119.840 114.550 [4,] 111.370 111.535 111.395 113.490 114.355 117.735 125.365 123.925 118.305 [5,] 115.050 115.220 115.190 116.070 120.420 121.880 130.740 130.740 124.640 [,10] [,11] [,12] [1,] 103.130 102.870 102.750 [2,] 109.215 108.745 108.375 [3,] 110.520 110.120 109.860 [4,] 113.975 113.475 112.475 [5,] 120.500 120.100 115.050 $n [1] 7 7 7 7 7 7 7 7 7 7 7 7 $conf [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [1,] 106.0153 106.3768 106.1904 104.9193 106.4327 112.6223 114.9241 115.6866 [2,] 113.7847 114.3432 113.9896 115.2207 117.7673 117.8177 124.7359 123.9934 [,9] [,10] [,11] [,12] [1,] 111.2983 107.6774 107.2953 107.4115 [2,] 117.8017 113.3626 112.9447 112.3085 $out [1] 119.62 $group [1] 12 $names [1] "1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" "12" Warning message: In bxp(list(stats = c(100.05, 104.865, 109.9, 111.37, 115.05, 100.05, : some notches went outside hinges ('box'): maybe set notch=FALSE > dev.off() null device 1 > postscript(file="/var/wessaorg/rcomp/tmp/53llg1426176472.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')) $stats [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [1,] 100.050 102.750 106.980 109.860 109.770 112.20 115.050 NA [2,] 100.050 102.750 106.980 110.080 110.475 113.42 115.645 NA [3,] 102.810 107.205 109.980 110.610 111.835 116.28 120.260 NA [4,] 108.645 113.605 114.935 113.395 115.225 120.01 123.260 NA [5,] 111.600 115.530 118.770 113.730 121.260 127.77 130.740 NA $n [1] 12 12 12 12 12 12 12 0 $conf [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [1,] 98.88976 102.254 106.3517 109.098 109.6685 113.2743 116.7867 NA [2,] 106.73024 112.156 113.6083 112.122 114.0015 119.2857 123.7333 NA $out [1] 119.83 119.84 122.96 $group [1] 4 4 5 $names [1] "1" "2" "3" "4" "5" "6" "7" NA Warning message: In bxp(list(stats = c(100.05, 100.05, 102.81, 108.645, 111.6, 102.75, : some notches went outside hinges ('box'): maybe set notch=FALSE > dev.off() null device 1 > postscript(file="/var/wessaorg/rcomp/tmp/6sbfq1426176472.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')) $stats [,1] [,2] [,3] [1,] 4.319270 13.110 4.1000 [2,] 5.361452 15.155 4.7450 [3,] 5.530895 16.495 6.5175 [4,] 6.244295 18.255 7.5850 [5,] 7.288303 20.370 9.4900 $n [1] 12 12 12 $conf [,1] [,2] [,3] [1,] 5.128224 15.08107 5.222157 [2,] 5.933566 17.90893 7.812843 $out numeric(0) $group numeric(0) $names [1] "S.D." "Range" "IQR" Warning message: In bxp(list(stats = c(4.31927022054597, 5.36145169206228, 5.5308949600621, : some notches went outside hinges ('box'): maybe set notch=FALSE > dev.off() null device 1 > > try(system("convert tmp/1w9j11426176472.ps tmp/1w9j11426176472.png",intern=TRUE)) character(0) > try(system("convert tmp/28nyr1426176472.ps tmp/28nyr1426176472.png",intern=TRUE)) character(0) > try(system("convert tmp/39l741426176472.ps tmp/39l741426176472.png",intern=TRUE)) character(0) > try(system("convert tmp/4rzx81426176472.ps tmp/4rzx81426176472.png",intern=TRUE)) character(0) > try(system("convert tmp/53llg1426176472.ps tmp/53llg1426176472.png",intern=TRUE)) character(0) > try(system("convert tmp/6sbfq1426176472.ps tmp/6sbfq1426176472.png",intern=TRUE)) character(0) > > > proc.time() user system elapsed 2.095 0.325 2.449