R version 3.2.2 (2015-08-14) -- "Fire Safety" Copyright (C) 2015 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(73.97,75.01,75.98,78.85,79.34,79.62,79.76,79.62,79.89,79.88,79.97,79.63,80.04,80.23,80.44,81.78,82.51,82.43,82.35,82.53,82.08,82.73,82.46,81.98,82.11,82.26,82.51,82.89,83.83,84.73,84.48,84.84,84.99,84.7,84.54,84.73,84.51,84.54,84.27,84.47,84.25,84.33,84.29,84.53,84.01,84.18,84.08,83.44,83.61,83.89,83.4,82.96,82.76,83.35,87.78,88.99,88.92,88.91,89.79,90.54,93.15,92.79,93.21,95.35,100.91,103.69,104.04,104.16,104.71,105.18,104.92,104.83,104.9,105.05,104.6,103.21,102.52,101.09,101.19,102.34,102.62,102.47,101.82,101.86,101.54,101.98,101.23,100.4,99.94,99.94,100,98.8,99.07,99.46,99.18,98.47,97.12,96.91,96.09,97.17,96.8,97.13,99.9,100.56,100.84,99.81,100.44,100.07) > 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] 108 > (np <- floor(n / par1)) [1] 9 > 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] 9 9 9 9 9 9 9 9 9 9 9 9 > arr [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [1,] 73.97 80.04 82.11 84.51 83.61 93.15 104.90 101.54 97.12 NA [2,] 75.01 80.23 82.26 84.54 83.89 92.79 105.05 101.98 96.91 NA [3,] 75.98 80.44 82.51 84.27 83.40 93.21 104.60 101.23 96.09 NA [4,] 78.85 81.78 82.89 84.47 82.96 95.35 103.21 100.40 97.17 NA [5,] 79.34 82.51 83.83 84.25 82.76 100.91 102.52 99.94 96.80 NA [6,] 79.62 82.43 84.73 84.33 83.35 103.69 101.09 99.94 97.13 NA [7,] 79.76 82.35 84.48 84.29 87.78 104.04 101.19 100.00 99.90 NA [8,] 79.62 82.53 84.84 84.53 88.99 104.16 102.34 98.80 100.56 NA [9,] 79.89 82.08 84.99 84.01 88.92 104.71 102.62 99.07 100.84 NA [10,] 79.88 82.73 84.70 84.18 88.91 105.18 102.47 99.46 99.81 NA [11,] 79.97 82.46 84.54 84.08 89.79 104.92 101.82 99.18 100.44 NA [12,] 79.63 81.98 84.73 83.44 90.54 104.83 101.86 98.47 100.07 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/1mmxv1448223009.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/2igt11448223009.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/3saeo1448223009.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/4uncu1448223009.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] [,10] [1,] 73.97 75.01 75.98 78.85 79.34 79.62 79.76 79.62 79.89 79.88 [2,] 82.11 82.26 82.51 82.89 82.76 83.35 84.29 84.53 84.01 84.18 [3,] 84.51 84.54 84.27 84.47 84.25 84.73 87.78 88.99 88.92 88.91 [4,] 97.12 96.91 96.09 97.17 99.94 99.94 100.00 100.56 100.84 99.81 [5,] 104.90 105.05 104.60 103.21 102.52 103.69 104.04 104.16 104.71 105.18 [,11] [,12] [1,] 79.97 79.63 [2,] 84.08 83.44 [3,] 89.79 90.54 [4,] 100.44 100.07 [5,] 104.92 104.83 $n [1] 9 9 9 9 9 9 9 9 9 9 9 9 $conf [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [1,] 76.60473 76.82433 77.11787 76.9492 75.20187 75.9926 79.50607 80.54753 [2,] 92.41527 92.25567 91.42213 91.9908 93.29813 93.4674 96.05393 97.43247 [,9] [,10] [,11] [,12] [1,] 80.0562 80.6782 81.17373 81.78153 [2,] 97.7838 97.1418 98.40627 99.29847 $out numeric(0) $group numeric(0) $names [1] "1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" "12" Warning message: In bxp(list(stats = c(73.97, 82.11, 84.51, 97.12, 104.9, 75.01, : some notches went outside hinges ('box'): maybe set notch=FALSE > dev.off() null device 1 > postscript(file="/var/wessaorg/rcomp/tmp/5of1v1448223009.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] [,9] [,10] [1,] 73.970 80.040 82.11 84.01 82.760 92.790 101.090 98.470 96.090 NA [2,] 77.415 81.110 82.70 84.13 83.375 94.280 101.840 99.125 97.015 NA [3,] 79.620 82.215 84.51 84.28 85.835 103.865 102.495 99.940 98.490 NA [4,] 79.820 82.485 84.73 84.49 88.955 104.770 103.905 100.815 100.255 NA [5,] 79.970 82.730 84.99 84.54 90.540 105.180 105.050 101.980 100.840 NA $n [1] 12 12 12 12 12 12 12 12 12 0 $conf [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [1,] 78.52306 81.58785 83.5841 84.1158 83.28992 99.08044 101.5531 99.16918 [2,] 80.71694 82.84215 85.4359 84.4442 88.38008 108.64956 103.4369 100.71082 [,9] [,10] [1,] 97.01221 NA [2,] 99.96779 NA $out [1] 83.44 $group [1] 4 $names [1] "1" "2" "3" "4" "5" "6" "7" "8" "9" NA Warning message: In bxp(list(stats = c(73.97, 77.415, 79.62, 79.82, 79.97, 80.04, : some notches went outside hinges ('box'): maybe set notch=FALSE > dev.off() null device 1 > postscript(file="/var/wessaorg/rcomp/tmp/6x6pu1448223009.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,] 9.248876 23.180 13.58 [2,] 9.537459 24.320 14.83 [3,] 9.665943 24.885 15.87 [4,] 9.903513 26.960 16.61 [5,] 10.408970 30.040 17.18 $n [1] 12 12 12 $conf [,1] [,2] [,3] [1,] 9.498983 23.68088 15.05813 [2,] 9.832903 26.08912 16.68187 $out [1] 10.58351 30.93000 $group [1] 1 2 $names [1] "S.D." "Range" "IQR" Warning message: In bxp(list(stats = c(9.24887575750576, 9.5374586884602, 9.66594299611673, : some notches went outside hinges ('box'): maybe set notch=FALSE > dev.off() null device 1 > > try(system("convert tmp/1mmxv1448223009.ps tmp/1mmxv1448223009.png",intern=TRUE)) character(0) > try(system("convert tmp/2igt11448223009.ps tmp/2igt11448223009.png",intern=TRUE)) character(0) > try(system("convert tmp/3saeo1448223009.ps tmp/3saeo1448223009.png",intern=TRUE)) character(0) > try(system("convert tmp/4uncu1448223009.ps tmp/4uncu1448223009.png",intern=TRUE)) character(0) > try(system("convert tmp/5of1v1448223009.ps tmp/5of1v1448223009.png",intern=TRUE)) character(0) > try(system("convert tmp/6x6pu1448223009.ps tmp/6x6pu1448223009.png",intern=TRUE)) character(0) > > > proc.time() user system elapsed 2.589 0.428 3.039