R version 2.7.2 (2008-08-25) Copyright (C) 2008 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.172 + ,-0.167 + ,-0.161 + ,-0.156 + ,-0.151 + ,-0.146 + ,-0.142 + ,-0.138 + ,-0.135 + ,-0.132 + ,-0.129 + ,-0.127 + ,-0.124 + ,-0.122 + ,-0.120 + ,-0.119 + ,-0.117 + ,-0.115 + ,-0.114 + ,-0.112 + ,-0.111 + ,-0.109 + ,-0.108 + ,-0.106 + ,-0.104 + ,-0.103 + ,-0.101 + ,-0.100 + ,-0.098 + ,-0.097 + ,-0.095 + ,-0.094 + ,-0.092 + ,-0.091 + ,-0.089 + ,-0.088 + ,-0.086 + ,-0.085 + ,-0.083 + ,-0.082 + ,-0.080 + ,-0.079 + ,-0.077 + ,-0.076 + ,-0.074 + ,-0.073 + ,-0.071 + ,-0.070 + ,-0.069 + ,-0.067 + ,-0.066 + ,-0.064 + ,-0.063 + ,-0.062 + ,-0.060 + ,-0.059 + ,-0.058 + ,-0.056 + ,-0.055 + ,-0.054 + ,-0.053 + ,-0.051 + ,-0.050 + ,-0.049 + ,-0.048 + ,-0.047 + ,-0.046 + ,-0.045 + ,-0.044 + ,-0.043 + ,-0.042 + ,-0.041 + ,-0.040 + ,-0.039 + ,-0.037 + ,-0.036 + ,-0.035 + ,-0.034 + ,-0.033 + ,-0.032 + ,-0.031 + ,-0.029 + ,-0.028 + ,-0.027 + ,-0.026 + ,-0.024 + ,-0.023 + ,-0.022 + ,-0.020 + ,-0.019 + ,-0.018 + ,-0.016 + ,-0.015 + ,-0.013 + ,-0.012 + ,-0.011 + ,-0.009 + ,-0.008 + ,-0.006 + ,-0.005 + ,-0.003 + ,-0.002 + ,0.000 + ,0.001 + ,0.003 + ,0.004 + ,0.006 + ,0.008 + ,0.009 + ,0.011 + ,0.012 + ,0.014 + ,0.015 + ,0.017 + ,0.019 + ,0.020 + ,0.022 + ,0.023 + ,0.025 + ,0.026 + ,0.028 + ,0.030 + ,0.031 + ,0.033 + ,0.034 + ,0.036 + ,0.037 + ,0.038 + ,0.040 + ,0.041 + ,0.043 + ,0.044 + ,0.045 + ,0.046 + ,0.047 + ,0.049 + ,0.050 + ,0.051 + ,0.052 + ,0.053 + ,0.054 + ,0.055 + ,0.056 + ,0.056 + ,0.057 + ,0.058 + ,0.059 + ,0.060 + ,0.061 + ,0.062 + ,0.063 + ,0.065 + ,0.066 + ,0.067 + ,0.069 + ,0.070 + ,0.072 + ,0.074 + ,0.076 + ,0.078 + ,0.080 + ,0.083 + ,0.085 + ,0.088 + ,0.090 + ,0.093 + ,0.096 + ,0.099 + ,0.102 + ,0.104 + ,0.107 + ,0.110 + ,0.113 + ,0.115 + ,0.118 + ,0.120 + ,0.123 + ,0.125 + ,0.128 + ,0.131 + ,0.133 + ,0.136 + ,0.139 + ,0.142 + ,0.145 + ,0.148 + ,0.151 + ,0.155 + ,0.158 + ,0.162 + ,0.166 + ,0.170 + ,0.175 + ,0.180 + ,0.186 + ,0.192 + ,0.197) > 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: AUTHOR(S), (YEAR), YOUR SOFTWARE TITLE (vNUMBER) in Free Statistics Software (v$_version), Office for Research Development and Education, URL http://www.wessa.net/rwasp_YOURPAGE.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.0001015228 > sqrtn <- sqrt(length(x)) > (armse <- sd(x) / sqrtn) [1] 0.006206936 > (armose <- arm / armse) [1] 0.01635635 > (geo <- geomean(x)) [1] NaN Warning message: In log(x) : NaNs produced > (har <- harmean(x)) [1] 0 > (qua <- quamean(x)) [1] 0.08689716 > (win <- winmean(x)) [,1] [,2] [1,] 1.015228e-04 0.006199337 [2,] 1.015228e-04 0.006181615 [3,] 8.629442e-05 0.006157809 [4,] 8.629442e-05 0.006129903 [5,] 8.629442e-05 0.006095904 [6,] 8.629442e-05 0.006064007 [7,] 8.629442e-05 0.006027544 [8,] 4.568528e-05 0.005991362 [9,] 4.568528e-05 0.005957420 [10,] -5.076142e-06 0.005913634 [11,] -6.091371e-05 0.005879596 [12,] -6.091371e-05 0.005836304 [13,] -1.269036e-04 0.005797142 [14,] -1.979695e-04 0.005755483 [15,] -3.502538e-04 0.005719425 [16,] -4.314721e-04 0.005672875 [17,] -4.314721e-04 0.005634248 [18,] -6.142132e-04 0.005592388 [19,] -7.106599e-04 0.005538795 [20,] -8.121827e-04 0.005505001 [21,] -9.187817e-04 0.005446862 [22,] -1.030457e-03 0.005410392 [23,] -1.147208e-03 0.005347871 [24,] -1.147208e-03 0.005296719 [25,] -1.401015e-03 0.005242590 [26,] -1.532995e-03 0.005173943 [27,] -1.807107e-03 0.005116818 [28,] -1.807107e-03 0.005059239 [29,] -2.101523e-03 0.004999067 [30,] -2.253807e-03 0.004922846 [31,] -2.568528e-03 0.004860012 [32,] -2.730964e-03 0.004780380 [33,] -2.898477e-03 0.004731444 [34,] -3.071066e-03 0.004648365 [35,] -3.248731e-03 0.004597451 [36,] -3.431472e-03 0.004511092 [37,] -3.619289e-03 0.004458310 [38,] -3.619289e-03 0.004386654 [39,] -3.817259e-03 0.004331922 [40,] -3.817259e-03 0.004257629 [41,] -4.025381e-03 0.004201033 [42,] -3.812183e-03 0.004143264 [43,] -4.030457e-03 0.004084679 [44,] -3.807107e-03 0.004024936 [45,] -3.807107e-03 0.003984485 [46,] -3.807107e-03 0.003902311 [47,] -3.807107e-03 0.003860602 [48,] -3.807107e-03 0.003818186 [49,] -3.558376e-03 0.003753553 [50,] -3.558376e-03 0.003709829 [51,] -3.299492e-03 0.003643342 [52,] -3.299492e-03 0.003598337 [53,] -3.299492e-03 0.003552653 [54,] -2.751269e-03 0.003506712 [55,] -2.751269e-03 0.003459683 [56,] -2.751269e-03 0.003411984 [57,] -2.461929e-03 0.003339880 [58,] -2.461929e-03 0.003290948 [59,] -2.461929e-03 0.003241357 [60,] -2.461929e-03 0.003191110 [61,] -2.152284e-03 0.003115360 [62,] -2.467005e-03 0.003037692 [63,] -2.467005e-03 0.002985683 [64,] -2.467005e-03 0.002933034 [65,] -2.467005e-03 0.002879747 > (tri <- trimean(x)) [,1] [,2] [1,] 1.015228e-04 0.006124915 [2,] -2.564103e-05 0.006045710 [3,] -2.879581e-04 0.005971114 [4,] -2.879581e-04 0.005900642 [5,] -5.508021e-04 0.005833664 [6,] -6.864865e-04 0.005770386 [7,] -8.251366e-04 0.005709401 [8,] -8.251366e-04 0.005650860 [9,] -1.106145e-03 0.005594170 [10,] -1.248588e-03 0.005538558 [11,] -1.388571e-03 0.005485025 [12,] -1.526012e-03 0.005432019 [13,] -1.666667e-03 0.005380378 [14,] -1.804734e-03 0.005329415 [15,] -1.940120e-03 0.005279195 [16,] -1.940120e-03 0.005228964 [17,] -2.190184e-03 0.005179579 [18,] -2.316770e-03 0.005130112 [19,] -2.433962e-03 0.005080731 [20,] -2.547771e-03 0.005032350 [21,] -2.658065e-03 0.004983100 [22,] -2.764706e-03 0.004934938 [23,] -2.867550e-03 0.004885928 [24,] -2.966443e-03 0.004838105 [25,] -3.068027e-03 0.004790453 [26,] -3.158621e-03 0.004743151 [27,] -3.244755e-03 0.004697269 [28,] -3.319149e-03 0.004651887 [29,] -3.395683e-03 0.004606943 [30,] -3.459854e-03 0.004562610 [31,] -3.518519e-03 0.004520072 [32,] -3.518519e-03 0.004478339 [33,] -3.603053e-03 0.004438656 [34,] -3.635659e-03 0.004398744 [35,] -3.661417e-03 0.004361109 [36,] -3.680000e-03 0.004323404 [37,] -3.691057e-03 0.004288231 [38,] -3.694215e-03 0.004253176 [39,] -3.697479e-03 0.004219608 [40,] -3.692308e-03 0.004186301 [41,] -3.686957e-03 0.004154700 [42,] -3.672566e-03 0.004123536 [43,] -3.666667e-03 0.004092888 [44,] -3.651376e-03 0.004062801 [45,] -3.644860e-03 0.004033370 [46,] -3.638095e-03 0.004003092 [47,] -3.631068e-03 0.003975127 [48,] -3.623762e-03 0.003946420 [49,] -3.616162e-03 0.003916904 [50,] -3.618557e-03 0.003888271 [51,] -3.621053e-03 0.003858824 [52,] -3.634409e-03 0.003830343 [53,] -3.634409e-03 0.003801046 [54,] -3.662921e-03 0.003770854 [55,] -3.701149e-03 0.003739589 [56,] -3.741176e-03 0.003707217 [57,] -3.741176e-03 0.003673617 [58,] -3.839506e-03 0.003640880 [59,] -3.898734e-03 0.003606838 [60,] -3.961039e-03 0.003571333 [61,] -4.026667e-03 0.003534182 [62,] -4.109589e-03 0.003497747 [63,] -4.183099e-03 0.003462493 [64,] -4.183099e-03 0.003425535 [65,] -4.343284e-03 0.003386631 > (midr <- midrange(x)) [1] 0.0125 > midm <- array(NA,dim=8) > for (j in 1:8) midm[j] <- midmean(x,j) > midm [1] -0.004265306 -0.003616162 -0.003616162 -0.003616162 -0.003616162 [6] -0.004270000 -0.003616162 -0.003616162 > postscript(file="/var/www/html/rcomp/tmp/1uuax1224869336.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/2o5u61224869336.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 > > #Note: the /var/www/html/rcomp/createtable file can be downloaded at http://www.wessa.net/cretab > 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/30dow1224869336.tab") > > system("convert tmp/1uuax1224869336.ps tmp/1uuax1224869336.png") > system("convert tmp/2o5u61224869336.ps tmp/2o5u61224869336.png") > > > proc.time() user system elapsed 1.391 0.362 1.628