x <- array(list(0.7,1.9,-1.6,0.8,-0.2,1.1,-1.2,0.1,-0.1,-0.1,3.4,4.4,3.7,5.5,0.8,1.6,0,4.6,2,3.4),dim=c(2,10),dimnames=list(c('Ctrl',''Drug''),1:10)) y <- array(NA,dim=c(2,10),dimnames=list(c('Ctrl',''Drug''),1:10)) for (i in 1:dim(x)[1]) { for (j in 1:dim(x)[2]) { y[i,j] <- as.numeric(x[i,j]) } } par3 = '0' par2 = 'TRUE' par1 = '3' ylab = 'Extra Sleep (Hours)' xlab = '' main = '' #'GNU S' R Code compiled by R2WASP v. 1.0.44 () #Author: Dr. Ian E. Holliday #To cite this work: Ian E. Holliday, 2009, CARE BoxPlot and Descriptives (v1.0.1) in Free Statistics Software (v$_version), Office for Research Development and Education, URL http://www.wessa.net/Ian.Holliday/rwasp_varia1.wasp/ #Source of accompanying publication: #Technical description: par1 <- as.numeric(par1) #colour par2<- as.logical(par2) # Notches ? par3<-as.numeric(par3) # % trim if(par3>45){par3<-45;warning('trim limited to 45%')} if(par3<0){par3<-0;warning('negative trim makes no sense. Trim is zero.')} lotrm<-as.integer(length(y[1,])*par3/100)+1 hitrm<-as.integer(length(y[1,])*(100-par3)/100) y1<-array(dim=c(dim(y)[1], hitrm-lotrm+1), dimnames=list(dimnames(y)[[1]], 1:(hitrm-lotrm+1) )) for(i in 1:dim(y)[1]){ tmp<-order(y[i,]) y1[i,]<- y[i, tmp[lotrm:hitrm] ] } postscript(file="/var/www/rcomp/tmp/1k3rv1267626993.ps",horizontal=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) pairs(t(y)) dev.off() y<-y1 z <- as.data.frame(t(y)) postscript(file="/var/www/rcomp/tmp/2gjyt1267626993.ps",horizontal=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) (r<-boxplot(z ,xlab=xlab,ylab=ylab,main=main,notch=par2,col=par1)) dev.off() #Note: the /var/www/rcomp/createtable file can be downloaded at http://www.wessa.net/cretab load(file="/var/www/rcomp/createtable") a<-table.start() a<-table.row.start(a) a<-table.element(a,hyperlink('http://www.xycoon.com/overview.htm','Boxplot statistics','Boxplot overview'),6,TRUE) a<-table.row.end(a) a<-table.row.start(a) a<-table.element(a,'Variable',1,TRUE) a<-table.element(a,hyperlink('http://www.xycoon.com/lower_whisker.htm','lower whisker','definition of lower whisker'),1,TRUE) a<-table.element(a,hyperlink('http://www.xycoon.com/lower_hinge.htm','lower hinge','definition of lower hinge'),1,TRUE) a<-table.element(a,hyperlink('http://www.xycoon.com/central_tendency.htm','median','definitions about measures of central tendency'),1,TRUE) a<-table.element(a,hyperlink('http://www.xycoon.com/upper_hinge.htm','upper hinge','definition of upper hinge'),1,TRUE) a<-table.element(a,hyperlink('http://www.xycoon.com/upper_whisker.htm','upper whisker','definition of upper whisker'),1,TRUE) a<-table.row.end(a) for (i in 1:length(y[,1])) { a<-table.row.start(a) a<-table.element(a,dimnames(t(x))[[2]][i],1,TRUE) for (j in 1:5) { a<-table.element(a,round(r$stats[j,i], digits=2)) } a<-table.row.end(a) } a<-table.end(a) table.save(a,file="/var/www/rcomp/tmp/3k8cf1267626993.tab") if (par2){ a<-table.start() a<-table.row.start(a) a<-table.element(a,'Boxplot Notches',4,TRUE) a<-table.row.end(a) a<-table.row.start(a) a<-table.element(a,'Variable',1,TRUE) a<-table.element(a,'lower bound',1,TRUE) a<-table.element(a,'median',1,TRUE) a<-table.element(a,'upper bound',1,TRUE) a<-table.row.end(a) for (i in 1:length(y[,1])) { a<-table.row.start(a) a<-table.element(a,dimnames(t(x))[[2]][i],1,TRUE) a<-table.element(a,round(r$conf[1,i], digits=2)) a<-table.element(a, round(r$stats[3,i], digits=2)) a<-table.element(a,round(r$conf[2,i], digits=2)) a<-table.row.end(a) } a<-table.end(a) table.save(a,file="/var/www/rcomp/tmp/45v561267626993.tab") } a<-table.start() a<-table.row.start(a) a<-table.element(a,'Boxplot Means',4,TRUE) a<-table.row.end(a) a<-table.row.start(a) a<-table.element(a,'Variable',1,TRUE) a<-table.element(a,hyperlink('http://www.xycoon.com/trimmed_mean.htm','trimmed mean','definition of trimmed mean'),1,TRUE) a<-table.element(a,hyperlink('http://www.xycoon.com/unbiased1.htm','unbiased SD','definition of unbiased SD'),1,TRUE) a<-table.row.end(a) for (i in 1:length(y[,1])) { a<-table.row.start(a) a<-table.element(a,dimnames(t(x))[[2]][i],1,TRUE) a<-table.element(a,round(mean(z[i], trim=par3/100, na.rm=TRUE), digits=2)) a<-table.element(a,round(sd(z[i], na.rm=TRUE), digits=2)) a<-table.row.end(a) } a<-table.end(a) table.save(a,file="/var/www/rcomp/tmp/5r4ja1267626993.tab") try(system("convert tmp/1k3rv1267626993.ps tmp/1k3rv1267626993.png",intern=TRUE)) try(system("convert tmp/2gjyt1267626993.ps tmp/2gjyt1267626993.png",intern=TRUE))