R version 2.6.0 (2007-10-03) Copyright (C) 2007 The R Foundation for Statistical Computing ISBN 3-900051-07-0 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(0.00498291873874305 + ,0.0793223539142789 + ,-0.0625809545639328 + ,0.0280654227924886 + ,0.0186770910482273 + ,-0.0278451405168712 + ,-0.0160415828684045 + ,0.00800891826163896 + ,-0.0284266699553964 + ,0.00358089966203660 + ,-0.0106258926391915 + ,-0.0382814374185135 + ,0.057838663944805 + ,0.102402564588083 + ,0.0746995870753183 + ,0.0127932859545176 + ,0.167725484938012 + ,-0.128004517546978 + ,-0.0735393462043395 + ,0.0147181318738355 + ,0.0102185013252131 + ,-0.0589476023320615 + ,0.00182819684467975 + ,0.0581414158522751 + ,-0.0272344430774991 + ,0.0212995495732571 + ,-0.0623124997311786 + ,-5.83752587663966e-05 + ,-0.0228268581805917 + ,-0.067345143444185 + ,-0.0315427622540225 + ,0.0278186227243244 + ,-0.0427383325146042 + ,-0.00649440817096458 + ,0.0247474807917305 + ,-0.00401872802482828 + ,-0.0255976981173509 + ,-0.0468480706314915 + ,-0.0363519086429775 + ,-0.0530492158953395 + ,0.0183982147919632 + ,0.00422452551721264 + ,-0.0852117605914602 + ,0.0136687391795425 + ,-0.0355419600553288 + ,0.0341683247004703 + ,0.0597143568478087 + ,0.0214081232490564 + ,-0.100731459894530 + ,-0.047051344399291 + ,-0.00658029169493979 + ,-0.0227885142727402 + ,0.0296743493753668 + ,-0.01857996737444 + ,0.0187962800103278 + ,-0.0457667737637948 + ,-0.00366069135268798 + ,0.00367890076878297 + ,-0.079647400200006 + ,-0.0091243185857044 + ,0.0492864925892338 + ,0.0130250746511882 + ,-0.0370922819395680 + ,-0.0180627686095107 + ,0.0332692067764153 + ,-0.0722971672259876 + ,-0.0178566785177168 + ,-0.00334868566024671 + ,-0.03083981570561 + ,0.00408244299952987 + ,0.0651662575662542 + ,0.00411742686205496 + ,0.0112606978192815 + ,0.00215006014629004 + ,0.0660015269583667 + ,-0.0232299374591953 + ,-0.0139150003490922 + ,-0.00855913172763145 + ,0.0488255884062676 + ,-0.0147035752055471 + ,0.107591796121569 + ,0.0119750091944324 + ,-0.0362475666004212 + ,0.0251623283732521 + ,0.0475618270062474 + ,0.019537551882598 + ,-0.101853195244507 + ,0.0204083037138769 + ,-0.032065972743049 + ,-0.0856968557787612 + ,0.0563411939342044 + ,-0.00834749088071352 + ,0.0323182614314677 + ,-0.0649957289713692 + ,0.00287215024827336 + ,0.0459215548055463 + ,0.0523217349874594 + ,-0.0170521880891474 + ,0.0119447347469332 + ,-0.0300746672353176 + ,0.0140385177312430 + ,0.0333951893316602 + ,-0.0089196803612861 + ,0.0215215666160393 + ,0.00243102727727784 + ,-0.00264251063758536 + ,0.0738057587248742 + ,0.05247280805371 + ,-0.0153046984939991 + ,0.0818695834808763 + ,0.0702499252958937 + ,-0.0751547835318593 + ,0.0210770835191783 + ,-0.0139042522041262 + ,-0.0443501136634712 + ,-0.00147348818232285 + ,-0.0257508828596622 + ,0.0417988534479328 + ,0.0124136981987064 + ,0.0487343707199885 + ,0.109803612572215 + ,-0.0235359827120885 + ,-0.0239611038278067 + ,0.0137637477921384 + ,-0.0257678975395814 + ,-0.0385359711280735 + ,0.0458658519725548 + ,-0.020304258604555 + ,-0.0215233594345037 + ,-0.00159379200433651 + ,0.055063884787975 + ,0.0308125037919451 + ,-0.0252862495465696 + ,0.0101609583037332 + ,-0.0192284886412875 + ,0.000548473782408188 + ,-0.000269275150888149 + ,0.0335372325235799 + ,0.0193127888352320 + ,-0.0315397448784029 + ,0.0408624926202439) > ylimmax = '' > ylimmin = '' > main = 'Robustness of Central Tendency' > #'GNU S' R Code compiled by R2WASP v. 1.0.44 () > #Author: Prof. Dr. P. Wessa > #To cite this work: Wessa, P., (2007), Central Tendency (v1.0.2) in Free Statistics Software (v$_version), Office for Research Development and Education, URL http://www.wessa.net/rwasp_centraltendency.wasp/ > #Source of accompanying publication: Office for Research, Development, and Education > #Technical description: Write here your technical program description (don't use hard returns!) > geomean <- function(x) { + return(exp(mean(log(x)))) + } > harmean <- function(x) { + return(1/mean(1/x)) + } > quamean <- function(x) { + return(sqrt(mean(x*x))) + } > winmean <- function(x) { + x <-sort(x[!is.na(x)]) + n<-length(x) + denom <- 3 + nodenom <- n/denom + if (nodenom>40) denom <- n/40 + sqrtn = sqrt(n) + roundnodenom = floor(nodenom) + win <- array(NA,dim=c(roundnodenom,2)) + for (j in 1:roundnodenom) { + win[j,1] <- (j*x[j+1]+sum(x[(j+1):(n-j)])+j*x[n-j])/n + win[j,2] <- sd(c(rep(x[j+1],j),x[(j+1):(n-j)],rep(x[n-j],j)))/sqrtn + } + return(win) + } > trimean <- function(x) { + x <-sort(x[!is.na(x)]) + n<-length(x) + denom <- 3 + nodenom <- n/denom + if (nodenom>40) denom <- n/40 + sqrtn = sqrt(n) + roundnodenom = floor(nodenom) + tri <- array(NA,dim=c(roundnodenom,2)) + for (j in 1:roundnodenom) { + tri[j,1] <- mean(x,trim=j/n) + tri[j,2] <- sd(x[(j+1):(n-j)]) / sqrt(n-j*2) + } + return(tri) + } > midrange <- function(x) { + return((max(x)+min(x))/2) + } > q1 <- function(data,n,p,i,f) { + np <- n*p; + i <<- floor(np) + f <<- np - i + qvalue <- (1-f)*data[i] + f*data[i+1] + } > q2 <- function(data,n,p,i,f) { + np <- (n+1)*p + i <<- floor(np) + f <<- np - i + qvalue <- (1-f)*data[i] + f*data[i+1] + } > q3 <- function(data,n,p,i,f) { + np <- n*p + i <<- floor(np) + f <<- np - i + if (f==0) { + qvalue <- data[i] + } else { + qvalue <- data[i+1] + } + } > q4 <- function(data,n,p,i,f) { + np <- n*p + i <<- floor(np) + f <<- np - i + if (f==0) { + qvalue <- (data[i]+data[i+1])/2 + } else { + qvalue <- data[i+1] + } + } > q5 <- function(data,n,p,i,f) { + np <- (n-1)*p + i <<- floor(np) + f <<- np - i + if (f==0) { + qvalue <- data[i+1] + } else { + qvalue <- data[i+1] + f*(data[i+2]-data[i+1]) + } + } > q6 <- function(data,n,p,i,f) { + np <- n*p+0.5 + i <<- floor(np) + f <<- np - i + qvalue <- data[i] + } > q7 <- function(data,n,p,i,f) { + np <- (n+1)*p + i <<- floor(np) + f <<- np - i + if (f==0) { + qvalue <- data[i] + } else { + qvalue <- f*data[i] + (1-f)*data[i+1] + } + } > q8 <- function(data,n,p,i,f) { + np <- (n+1)*p + i <<- floor(np) + f <<- np - i + if (f==0) { + qvalue <- data[i] + } else { + if (f == 0.5) { + qvalue <- (data[i]+data[i+1])/2 + } else { + if (f < 0.5) { + qvalue <- data[i] + } else { + qvalue <- data[i+1] + } + } + } + } > midmean <- function(x,def) { + x <-sort(x[!is.na(x)]) + n<-length(x) + if (def==1) { + qvalue1 <- q1(x,n,0.25,i,f) + qvalue3 <- q1(x,n,0.75,i,f) + } + if (def==2) { + qvalue1 <- q2(x,n,0.25,i,f) + qvalue3 <- q2(x,n,0.75,i,f) + } + if (def==3) { + qvalue1 <- q3(x,n,0.25,i,f) + qvalue3 <- q3(x,n,0.75,i,f) + } + if (def==4) { + qvalue1 <- q4(x,n,0.25,i,f) + qvalue3 <- q4(x,n,0.75,i,f) + } + if (def==5) { + qvalue1 <- q5(x,n,0.25,i,f) + qvalue3 <- q5(x,n,0.75,i,f) + } + if (def==6) { + qvalue1 <- q6(x,n,0.25,i,f) + qvalue3 <- q6(x,n,0.75,i,f) + } + if (def==7) { + qvalue1 <- q7(x,n,0.25,i,f) + qvalue3 <- q7(x,n,0.75,i,f) + } + if (def==8) { + qvalue1 <- q8(x,n,0.25,i,f) + qvalue3 <- q8(x,n,0.75,i,f) + } + midm <- 0 + myn <- 0 + roundno4 <- round(n/4) + round3no4 <- round(3*n/4) + for (i in 1:n) { + if ((x[i]>=qvalue1) & (x[i]<=qvalue3)){ + midm = midm + x[i] + myn = myn + 1 + } + } + midm = midm / myn + return(midm) + } > (arm <- mean(x)) [1] 0.0008836932 > sqrtn <- sqrt(length(x)) > (armse <- sd(x) / sqrtn) [1] 0.003814979 > (armose <- arm / armse) [1] 0.2316378 > (geo <- geomean(x)) [1] NaN Warning message: In log(x) : NaNs produced > (har <- harmean(x)) [1] -0.00759473 > (qua <- quamean(x)) [1] 0.04514809 > (win <- winmean(x)) [,1] [,2] [1,] 6.583702e-04 0.003665747 [2,] 6.429080e-04 0.003655968 [3,] 8.523840e-04 0.003573833 [4,] 2.836497e-04 0.003463149 [5,] 3.906401e-04 0.003414166 [6,] 3.851018e-04 0.003350934 [7,] 4.209264e-04 0.003331111 [8,] 2.896552e-04 0.003288762 [9,] 3.345675e-04 0.003199463 [10,] 4.419537e-04 0.003165906 [11,] 2.050147e-04 0.003077823 [12,] 9.399462e-05 0.003056167 [13,] 3.763201e-04 0.003007885 [14,] 8.132905e-04 0.002907556 [15,] 1.315478e-03 0.002807471 [16,] 1.044522e-03 0.002764986 [17,] 1.156676e-03 0.002746544 [18,] 9.500488e-04 0.002673758 [19,] 1.105131e-03 0.002639711 [20,] 1.688272e-03 0.002569315 [21,] 1.551548e-03 0.002542366 [22,] 1.481161e-03 0.002488848 [23,] 1.592844e-03 0.002474388 [24,] 9.183496e-04 0.002385794 [25,] 8.774358e-04 0.002351671 [26,] 2.840124e-04 0.002136399 [27,] 2.633542e-04 0.002111947 [28,] 2.357462e-04 0.002108711 [29,] 3.537920e-04 0.002090379 [30,] 3.142607e-04 0.002050427 [31,] 3.455333e-04 0.001975707 [32,] 2.192070e-04 0.001933721 [33,] -1.442106e-05 0.001878320 [34,] 2.797020e-04 0.001835726 [35,] -3.754384e-04 0.001765888 [36,] -4.422459e-04 0.001750962 [37,] -1.207035e-03 0.001657524 [38,] -8.804767e-04 0.001617792 [39,] -7.929210e-04 0.001602886 [40,] -7.692106e-04 0.001587893 [41,] -8.464710e-04 0.001557025 [42,] -1.094422e-03 0.001530739 [43,] -7.771397e-04 0.001485350 [44,] -5.578912e-04 0.001432068 [45,] -2.525994e-04 0.001394796 [46,] -1.320059e-04 0.001365488 [47,] -1.186301e-03 0.001232614 > (tri <- trimean(x)) [,1] [,2] [1,] 6.106459e-04 0.003558048 [2,] 5.615282e-04 0.003439474 [3,] 5.190298e-04 0.003314209 [4,] 4.012279e-04 0.003209878 [5,] 4.328663e-04 0.003130722 [6,] 4.420972e-04 0.003056733 [7,] 4.526436e-04 0.002989929 [8,] 4.577546e-04 0.002920420 [9,] 4.818420e-04 0.002851714 [10,] 5.009106e-04 0.002791412 [11,] 5.078962e-04 0.002730189 [12,] 5.410790e-04 0.002675912 [13,] 5.867594e-04 0.002618857 [14,] 6.069581e-04 0.002562302 [15,] 5.882369e-04 0.002512968 [16,] 5.255207e-04 0.002470841 [17,] 4.827758e-04 0.002429136 [18,] 4.295434e-04 0.002384687 [19,] 3.899580e-04 0.002343660 [20,] 3.374101e-04 0.002301537 [21,] 2.412123e-04 0.002262101 [22,] 1.505116e-04 0.002220696 [23,] 6.074060e-05 0.002180009 [24,] -4.025362e-05 0.002135388 [25,] -1.021415e-04 0.002095187 [26,] -1.642180e-04 0.002053240 [27,] -1.921581e-04 0.002029638 [28,] -2.201439e-04 0.002004930 [29,] -2.478033e-04 0.001976575 [30,] -2.839144e-04 0.001945660 [31,] -3.195020e-04 0.001914267 [32,] -3.587856e-04 0.001886239 [33,] -3.927427e-04 0.001858181 [34,] -4.148860e-04 0.001831613 [35,] -4.554564e-04 0.001805025 [36,] -4.601283e-04 0.001781829 [37,] -4.611736e-04 0.001755613 [38,] -4.174454e-04 0.001735499 [39,] -3.901741e-04 0.001715791 [40,] -3.663039e-04 0.001693190 [41,] -3.422319e-04 0.001667076 [42,] -3.118093e-04 0.001638932 [43,] -2.640394e-04 0.001607506 [44,] -2.322943e-04 0.001575327 [45,] -2.118356e-04 0.001543417 [46,] -2.092290e-04 0.001509046 [47,] -2.142653e-04 0.001470068 > (midr <- midrange(x)) [1] 0.01986048 > midm <- array(NA,dim=8) > for (j in 1:8) midm[j] <- midmean(x,j) > midm [1] -0.0008214248 -0.0004554564 -0.0004554564 -0.0004554564 -0.0004554564 [6] -0.0008070181 -0.0004554564 -0.0004554564 > postscript(file="/var/www/html/rcomp/tmp/1sor01197311722.ps",horizontal=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) > lb <- win[,1] - 2*win[,2] > ub <- win[,1] + 2*win[,2] > if ((ylimmin == '') | (ylimmax == '')) plot(win[,1],type='b',main=main, xlab='j', pch=19, ylab='Winsorized Mean(j/n)', ylim=c(min(lb),max(ub))) else plot(win[,1],type='l',main=main, xlab='j', pch=19, ylab='Winsorized Mean(j/n)', ylim=c(ylimmin,ylimmax)) > lines(ub,lty=3) > lines(lb,lty=3) > grid() > dev.off() null device 1 > postscript(file="/var/www/html/rcomp/tmp/2sokt1197311722.ps",horizontal=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) > lb <- tri[,1] - 2*tri[,2] > ub <- tri[,1] + 2*tri[,2] > if ((ylimmin == '') | (ylimmax == '')) plot(tri[,1],type='b',main=main, xlab='j', pch=19, ylab='Trimmed Mean(j/n)', ylim=c(min(lb),max(ub))) else plot(tri[,1],type='l',main=main, xlab='j', pch=19, ylab='Trimmed Mean(j/n)', ylim=c(ylimmin,ylimmax)) > lines(ub,lty=3) > lines(lb,lty=3) > grid() > dev.off() null device 1 > load(file='/var/www/html/rcomp/createtable') > a<-table.start() > a<-table.row.start(a) > a<-table.element(a,'Central Tendency - Ungrouped Data',4,TRUE) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'Measure',header=TRUE) > a<-table.element(a,'Value',header=TRUE) > a<-table.element(a,'S.E.',header=TRUE) > a<-table.element(a,'Value/S.E.',header=TRUE) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,hyperlink('http://www.xycoon.com/arithmetic_mean.htm', 'Arithmetic Mean', 'click to view the definition of the Arithmetic Mean'),header=TRUE) > a<-table.element(a,arm) > a<-table.element(a,hyperlink('http://www.xycoon.com/arithmetic_mean_standard_error.htm', armse, 'click to view the definition of the Standard Error of the Arithmetic Mean')) > a<-table.element(a,armose) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,hyperlink('http://www.xycoon.com/geometric_mean.htm', 'Geometric Mean', 'click to view the definition of the Geometric Mean'),header=TRUE) > a<-table.element(a,geo) > a<-table.element(a,'') > a<-table.element(a,'') > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,hyperlink('http://www.xycoon.com/harmonic_mean.htm', 'Harmonic Mean', 'click to view the definition of the Harmonic Mean'),header=TRUE) > a<-table.element(a,har) > a<-table.element(a,'') > a<-table.element(a,'') > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,hyperlink('http://www.xycoon.com/quadratic_mean.htm', 'Quadratic Mean', 'click to view the definition of the Quadratic Mean'),header=TRUE) > a<-table.element(a,qua) > a<-table.element(a,'') > a<-table.element(a,'') > a<-table.row.end(a) > for (j in 1:length(win[,1])) { + a<-table.row.start(a) + mylabel <- paste('Winsorized Mean (',j) + mylabel <- paste(mylabel,'/') + mylabel <- paste(mylabel,length(win[,1])) + mylabel <- paste(mylabel,')') + a<-table.element(a,hyperlink('http://www.xycoon.com/winsorized_mean.htm', mylabel, 'click to view the definition of the Winsorized Mean'),header=TRUE) + a<-table.element(a,win[j,1]) + a<-table.element(a,win[j,2]) + a<-table.element(a,win[j,1]/win[j,2]) + a<-table.row.end(a) + } > for (j in 1:length(tri[,1])) { + a<-table.row.start(a) + mylabel <- paste('Trimmed Mean (',j) + mylabel <- paste(mylabel,'/') + mylabel <- paste(mylabel,length(tri[,1])) + mylabel <- paste(mylabel,')') + a<-table.element(a,hyperlink('http://www.xycoon.com/arithmetic_mean.htm', mylabel, 'click to view the definition of the Trimmed Mean'),header=TRUE) + a<-table.element(a,tri[j,1]) + a<-table.element(a,tri[j,2]) + a<-table.element(a,tri[j,1]/tri[j,2]) + a<-table.row.end(a) + } > a<-table.row.start(a) > a<-table.element(a,hyperlink('http://www.xycoon.com/median_1.htm', 'Median', 'click to view the definition of the Median'),header=TRUE) > a<-table.element(a,median(x)) > a<-table.element(a,'') > a<-table.element(a,'') > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,hyperlink('http://www.xycoon.com/midrange.htm', 'Midrange', 'click to view the definition of the Midrange'),header=TRUE) > a<-table.element(a,midr) > a<-table.element(a,'') > a<-table.element(a,'') > a<-table.row.end(a) > a<-table.row.start(a) > mymid <- hyperlink('http://www.xycoon.com/midmean.htm', 'Midmean', 'click to view the definition of the Midmean') > mylabel <- paste(mymid,hyperlink('http://www.xycoon.com/method_1.htm','Weighted Average at Xnp',''),sep=' - ') > a<-table.element(a,mylabel,header=TRUE) > a<-table.element(a,midm[1]) > a<-table.element(a,'') > a<-table.element(a,'') > a<-table.row.end(a) > a<-table.row.start(a) > mymid <- hyperlink('http://www.xycoon.com/midmean.htm', 'Midmean', 'click to view the definition of the Midmean') > mylabel <- paste(mymid,hyperlink('http://www.xycoon.com/method_2.htm','Weighted Average at X(n+1)p',''),sep=' - ') > a<-table.element(a,mylabel,header=TRUE) > a<-table.element(a,midm[2]) > a<-table.element(a,'') > a<-table.element(a,'') > a<-table.row.end(a) > a<-table.row.start(a) > mymid <- hyperlink('http://www.xycoon.com/midmean.htm', 'Midmean', 'click to view the definition of the Midmean') > mylabel <- paste(mymid,hyperlink('http://www.xycoon.com/method_3.htm','Empirical Distribution Function',''),sep=' - ') > a<-table.element(a,mylabel,header=TRUE) > a<-table.element(a,midm[3]) > a<-table.element(a,'') > a<-table.element(a,'') > a<-table.row.end(a) > a<-table.row.start(a) > mymid <- hyperlink('http://www.xycoon.com/midmean.htm', 'Midmean', 'click to view the definition of the Midmean') > mylabel <- paste(mymid,hyperlink('http://www.xycoon.com/method_4.htm','Empirical Distribution Function - Averaging',''),sep=' - ') > a<-table.element(a,mylabel,header=TRUE) > a<-table.element(a,midm[4]) > a<-table.element(a,'') > a<-table.element(a,'') > a<-table.row.end(a) > a<-table.row.start(a) > mymid <- hyperlink('http://www.xycoon.com/midmean.htm', 'Midmean', 'click to view the definition of the Midmean') > mylabel <- paste(mymid,hyperlink('http://www.xycoon.com/method_5.htm','Empirical Distribution Function - Interpolation',''),sep=' - ') > a<-table.element(a,mylabel,header=TRUE) > a<-table.element(a,midm[5]) > a<-table.element(a,'') > a<-table.element(a,'') > a<-table.row.end(a) > a<-table.row.start(a) > mymid <- hyperlink('http://www.xycoon.com/midmean.htm', 'Midmean', 'click to view the definition of the Midmean') > mylabel <- paste(mymid,hyperlink('http://www.xycoon.com/method_6.htm','Closest Observation',''),sep=' - ') > a<-table.element(a,mylabel,header=TRUE) > a<-table.element(a,midm[6]) > a<-table.element(a,'') > a<-table.element(a,'') > a<-table.row.end(a) > a<-table.row.start(a) > mymid <- hyperlink('http://www.xycoon.com/midmean.htm', 'Midmean', 'click to view the definition of the Midmean') > mylabel <- paste(mymid,hyperlink('http://www.xycoon.com/method_7.htm','True Basic - Statistics Graphics Toolkit',''),sep=' - ') > a<-table.element(a,mylabel,header=TRUE) > a<-table.element(a,midm[7]) > a<-table.element(a,'') > a<-table.element(a,'') > a<-table.row.end(a) > a<-table.row.start(a) > mymid <- hyperlink('http://www.xycoon.com/midmean.htm', 'Midmean', 'click to view the definition of the Midmean') > mylabel <- paste(mymid,hyperlink('http://www.xycoon.com/method_8.htm','MS Excel (old versions)',''),sep=' - ') > a<-table.element(a,mylabel,header=TRUE) > a<-table.element(a,midm[8]) > a<-table.element(a,'') > a<-table.element(a,'') > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'Number of observations',header=TRUE) > a<-table.element(a,length(x)) > a<-table.element(a,'') > a<-table.element(a,'') > a<-table.row.end(a) > a<-table.end(a) > table.save(a,file="/var/www/html/rcomp/tmp/3wwpc1197311723.tab") > > system("convert tmp/1sor01197311722.ps tmp/1sor01197311722.png") > system("convert tmp/2sokt1197311722.ps tmp/2sokt1197311722.png") > > > proc.time() user system elapsed 1.237 0.332 1.371