R version 2.13.0 (2011-04-13) Copyright (C) 2011 The R Foundation for Statistical Computing ISBN 3-900051-07-0 Platform: i486-pc-linux-gnu (32-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(24300 + ,24375 + ,24375 + ,24550 + ,24725 + ,24825 + ,25100 + ,24950 + ,25325 + ,25325 + ,24800 + ,24975 + ,25125 + ,25125 + ,25125 + ,25400 + ,25175 + ,24650 + ,24775 + ,24675 + ,24825 + ,24775 + ,24675 + ,24750 + ,24875 + ,25400 + ,25400 + ,24750 + ,24900 + ,24825 + ,24875 + ,24975 + ,25375 + ,25600 + ,26000 + ,25900 + ,25850 + ,26075 + ,26275 + ,26050 + ,26000 + ,25825 + ,26075 + ,26150 + ,26275 + ,26475 + ,26500 + ,26575 + ,26425 + ,26275 + ,26375 + ,25900 + ,25850 + ,25625 + ,25900 + ,26050 + ,26150 + ,26275 + ,26100 + ,25975 + ,25975 + ,26125 + ,26175 + ,26225 + ,26225 + ,26200 + ,26275 + ,26275 + ,26275 + ,26750 + ,27075 + ,27475 + ,27525 + ,27125 + ,27000 + ,26950 + ,27075 + ,27150 + ,26875 + ,26925 + ,27150 + ,27150 + ,27425 + ,27625 + ,27475 + ,28075 + ,28075 + ,28175 + ,28350 + ,28350 + ,28500 + ,29350 + ,30225 + ,29575 + ,30125 + ,30125 + ,31150 + ,31350 + ,32175 + ,31725 + ,31600 + ,30800 + ,30800 + ,29700 + ,30875 + ,31275 + ,31500 + ,31375 + ,31400 + ,31650 + ,31975 + ,31650 + ,31975 + ,32575 + ,32025 + ,33050 + ,32300 + ,32100 + ,32250 + ,32050 + ,31975 + ,32100 + ,32025 + ,32275 + ,32100 + ,32275 + ,31975 + ,32175 + ,32375 + ,32300 + ,32450 + ,32425 + ,30800 + ,30850 + ,30750 + ,30175 + ,30350 + ,30125 + ,30625 + ,30375 + ,30425 + ,30325 + ,29825 + ,29450 + ,29100 + ,29450 + ,29550 + ,29575 + ,29425 + ,29050 + ,28525 + ,28575 + ,28500 + ,28875 + ,28625 + ,28625 + ,28925 + ,28925 + ,28950 + ,28950 + ,29100 + ,29700 + ,30000 + ,30400 + ,30375 + ,30425 + ,30625 + ,30700 + ,30825 + ,30800 + ,31100 + ,31175 + ,31025 + ,30975 + ,31025 + ,31350 + ,31075 + ,31125 + ,30900 + ,31150 + ,31575 + ,31575 + ,31375 + ,31100 + ,30975 + ,31200 + ,31125 + ,31075 + ,31275 + ,31175 + ,30950 + ,30725 + ,30900 + ,30700 + ,30625 + ,30700 + ,30650 + ,30525 + ,30850 + ,30725 + ,31025 + ,30975 + ,30550 + ,30900 + ,31000 + ,31000 + ,31000 + ,31000 + ,31325 + ,31000 + ,31000 + ,30300 + ,30575 + ,30575 + ,30775 + ,30550 + ,30750 + ,31025 + ,31000 + ,30850 + ,30600 + ,31150 + ,31800 + ,32500 + ,32325 + ,31800 + ,31850 + ,31625 + ,31750 + ,31650 + ,31525 + ,32075 + ,32725 + ,32900 + ,32775 + ,32825 + ,33200 + ,34100 + ,33800 + ,33525 + ,33775 + ,34000 + ,33425 + ,33550 + ,33400 + ,33300 + ,33400 + ,33000 + ,33500 + ,33550 + ,33725 + ,33700 + ,33600 + ,33550 + ,33500 + ,34200 + ,34000 + ,33600) > ylimmax = '' > ylimmin = '' > main = 'Robustness of Central Tendency' > 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] 29424.81 > sqrtn <- sqrt(length(x)) > (armse <- sd(x) / sqrtn) [1] 175.0378 > (armose <- arm / armse) [1] 168.1054 > (geo <- geomean(x)) [1] 29287.44 > (har <- harmean(x)) [1] 29146.96 > (qua <- quamean(x)) [1] 29558.3 > (win <- winmean(x)) [,1] [,2] [1,] 29424.71 174.96420 [2,] 29423.93 174.88444 [3,] 29425.97 174.65962 [4,] 29424.42 174.18320 [5,] 29424.42 174.08441 [6,] 29423.26 173.97194 [7,] 29423.93 173.76343 [8,] 29421.61 173.38817 [9,] 29421.61 173.38817 [10,] 29420.64 173.10598 [11,] 29420.64 173.10598 [12,] 29421.80 172.98483 [13,] 29421.80 172.73743 [14,] 29420.45 172.61236 [15,] 29420.45 172.61236 [16,] 29418.90 171.86746 [17,] 29417.25 171.71843 [18,] 29418.99 171.53927 [19,] 29415.31 170.50398 [20,] 29409.50 169.62602 [21,] 29397.29 168.58049 [22,] 29403.68 167.14431 [23,] 29397.00 166.18241 [24,] 29390.02 165.61476 [25,] 29385.17 165.22587 [26,] 29385.17 164.32156 [27,] 29385.17 161.54747 [28,] 29377.03 160.92747 [29,] 29377.03 159.95633 [30,] 29377.03 159.45701 [31,] 29371.03 159.01278 [32,] 29364.83 158.55960 [33,] 29387.21 155.87318 [34,] 29390.50 155.56229 [35,] 29414.24 152.79735 [36,] 29417.73 152.47914 [37,] 29414.15 152.21848 [38,] 29410.47 150.75484 [39,] 29410.47 150.75484 [40,] 29398.84 149.93241 [41,] 29410.76 148.85607 [42,] 29410.76 148.85607 [43,] 29410.76 148.19020 [44,] 29406.49 147.89280 [45,] 29410.85 146.81088 [46,] 29410.85 146.81088 [47,] 29406.30 145.77776 [48,] 29406.30 145.77776 [49,] 29411.05 145.35625 [50,] 29415.89 144.92750 [51,] 29396.12 142.81563 [52,] 29386.05 142.14579 [53,] 29391.18 141.69153 [54,] 29385.95 140.54106 [55,] 29385.95 139.72346 [56,] 29369.67 138.67242 [57,] 29380.72 137.70034 [58,] 29380.72 137.70034 [59,] 29375.00 137.33481 [60,] 29369.19 136.96526 [61,] 29363.28 136.59175 [62,] 29363.28 136.59175 [63,] 29351.07 135.82694 [64,] 29369.67 133.26340 [65,] 29357.07 130.61212 [66,] 29363.47 129.10828 [67,] 29369.96 128.54369 [68,] 29383.14 126.43144 [69,] 29429.94 122.41517 [70,] 29457.07 119.12641 [71,] 29457.07 117.13220 [72,] 29464.05 116.54599 [73,] 29456.98 114.08709 [74,] 29471.32 111.86360 [75,] 29471.32 111.86360 [76,] 29478.68 110.20223 [77,] 29486.14 109.58273 [78,] 29486.14 109.58273 [79,] 29478.49 109.13190 [80,] 29563.76 102.11543 [81,] 29571.61 100.37184 [82,] 29571.61 100.37184 [83,] 29579.65 98.59035 [84,] 29612.21 95.95839 [85,] 29743.99 83.20450 [86,] 29743.99 83.20450 > (tri <- trimean(x)) [,1] [,2] [1,] 29426.17 174.26457 [2,] 29427.66 173.52878 [3,] 29429.56 172.79732 [4,] 29430.80 172.10889 [5,] 29432.46 171.51490 [6,] 29434.15 170.90989 [7,] 29436.07 170.29230 [8,] 29437.91 169.67464 [9,] 29440.10 169.07739 [10,] 29442.33 168.44546 [11,] 29444.70 167.81182 [12,] 29447.12 167.14125 [13,] 29449.46 166.44485 [14,] 29451.85 165.73303 [15,] 29454.39 164.99157 [16,] 29456.97 164.20683 [17,] 29459.71 163.44138 [18,] 29462.61 162.64301 [19,] 29465.45 161.81197 [20,] 29468.58 161.01237 [21,] 29472.11 160.23029 [22,] 29476.40 159.47538 [23,] 29480.42 158.77614 [24,] 29484.88 158.09732 [25,] 29489.78 157.41093 [26,] 29495.02 156.70359 [27,] 29500.37 156.00750 [28,] 29505.82 155.43978 [29,] 29511.75 154.86701 [30,] 29517.80 154.31060 [31,] 29523.98 153.74158 [32,] 29530.54 153.15375 [33,] 29537.50 152.54553 [34,] 29543.68 152.05086 [35,] 29549.87 151.53286 [36,] 29555.24 151.13184 [37,] 29560.60 150.71125 [38,] 29566.21 150.26485 [39,] 29572.08 149.85629 [40,] 29578.09 149.40749 [41,] 29584.66 148.95740 [42,] 29590.95 148.52455 [43,] 29597.38 148.04805 [44,] 29603.97 147.56071 [45,] 29610.86 147.04000 [46,] 29617.77 146.52807 [47,] 29624.85 145.96477 [48,] 29632.25 145.40094 [49,] 29639.84 144.78067 [50,] 29647.47 144.12442 [51,] 29655.13 143.42960 [52,] 29663.64 142.77698 [53,] 29672.70 142.09069 [54,] 29681.83 141.36180 [55,] 29691.39 140.62112 [56,] 29701.20 139.85014 [57,] 29711.81 139.05033 [58,] 29722.36 138.22839 [59,] 29733.21 137.31861 [60,] 29744.57 136.33102 [61,] 29756.43 135.25776 [62,] 29768.84 134.08999 [63,] 29781.63 132.79829 [64,] 29795.19 131.40935 [65,] 29808.59 130.05627 [66,] 29822.82 128.71959 [67,] 29837.30 127.33895 [68,] 29852.05 125.84513 [69,] 29866.88 124.34040 [70,] 29880.72 122.99066 [71,] 29894.18 121.73716 [72,] 29908.11 120.46884 [73,] 29922.32 119.08856 [74,] 29937.27 117.70487 [75,] 29952.31 116.32336 [76,] 29967.92 114.75430 [77,] 29983.89 113.11493 [78,] 30000.25 111.31042 [79,] 30017.25 109.25233 [80,] 30035.20 106.92776 [81,] 30051.04 105.05971 [82,] 30067.29 103.08737 [83,] 30084.24 100.81393 [84,] 30101.67 98.38252 [85,] 30118.75 95.90820 [86,] 30131.98 94.59364 > (midr <- midrange(x)) [1] 29250 > midm <- array(NA,dim=8) > for (j in 1:8) midm[j] <- midmean(x,j) > midm [1] 29781.98 29795.19 29795.19 29795.19 29808.59 29795.19 29795.19 29795.19 > postscript(file="/var/wessaorg/rcomp/tmp/1zi5h1324628963.ps",horizontal=F,onefile=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/wessaorg/rcomp/tmp/2bezb1324628963.ps",horizontal=F,onefile=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/wessaorg/rcomp/createtable file can be downloaded at http://www.wessa.net/cretab > load(file="/var/wessaorg/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/wessaorg/rcomp/tmp/304hw1324628963.tab") > > try(system("convert tmp/1zi5h1324628963.ps tmp/1zi5h1324628963.png",intern=TRUE)) character(0) > try(system("convert tmp/2bezb1324628963.ps tmp/2bezb1324628963.png",intern=TRUE)) character(0) > > > proc.time() user system elapsed 1.458 0.165 1.647