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(362 + ,361 + ,361 + ,356 + ,364 + ,375 + ,391 + ,379 + ,389 + ,387 + ,379 + ,385 + ,399 + ,388 + ,392 + ,395 + ,395 + ,370 + ,376 + ,367 + ,356 + ,362 + ,346 + ,347 + ,350 + ,361 + ,358 + ,334 + ,331 + ,337 + ,337 + ,341 + ,344 + ,342 + ,353 + ,355 + ,354 + ,353 + ,365 + ,366 + ,354 + ,353 + ,363 + ,368 + ,366 + ,376 + ,383 + ,382 + ,386 + ,389 + ,388 + ,382 + ,379 + ,374 + ,380 + ,383 + ,384 + ,385 + ,378 + ,378 + ,378 + ,383 + ,381 + ,382 + ,382 + ,390 + ,401 + ,392 + ,401 + ,406 + ,408 + ,421 + ,412 + ,407 + ,411 + ,405 + ,416 + ,410 + ,397 + ,409 + ,406 + ,406 + ,412 + ,426 + ,423 + ,425 + ,425 + ,423 + ,434 + ,434 + ,440 + ,422 + ,431 + ,442 + ,448 + ,448 + ,475 + ,481 + ,488 + ,476 + ,474 + ,455 + ,455 + ,434 + ,447 + ,455 + ,459 + ,465 + ,464 + ,468 + ,467 + ,468 + ,467 + ,454 + ,470 + ,477 + ,462 + ,467 + ,469 + ,467 + ,469 + ,466 + ,469 + ,482 + ,474 + ,477 + ,468 + ,469 + ,480 + ,474 + ,474 + ,471 + ,443 + ,441 + ,440 + ,436 + ,442 + ,437 + ,444 + ,440 + ,444 + ,440 + ,438 + ,427 + ,421 + ,424 + ,422 + ,436 + ,435 + ,433 + ,420 + ,417 + ,411 + ,430 + ,428 + ,428 + ,426 + ,432 + ,426 + ,426 + ,424 + ,424 + ,431 + ,441 + ,444 + ,447 + ,440 + ,442 + ,439 + ,439 + ,453 + ,459 + ,462 + ,466 + ,464 + ,473 + ,469 + ,474 + ,480 + ,482 + ,486 + ,486 + ,484 + ,484 + ,487 + ,490 + ,491 + ,495 + ,497 + ,496 + ,489 + ,485 + ,490 + ,493 + ,487 + ,495 + ,506 + ,492 + ,500 + ,499 + ,518 + ,517 + ,505 + ,522 + ,519 + ,519 + ,522 + ,519 + ,543 + ,537 + ,537 + ,520 + ,523 + ,526 + ,537 + ,534 + ,536 + ,557 + ,554 + ,550 + ,549 + ,575 + ,595 + ,636 + ,628 + ,594 + ,590 + ,590 + ,605 + ,618 + ,630 + ,638 + ,645 + ,640 + ,640 + ,634 + ,647 + ,682 + ,679 + ,677 + ,697 + ,702 + ,679 + ,685 + ,695 + ,685 + ,688 + ,685 + ,694 + ,694 + ,697 + ,700 + ,695 + ,693 + ,693 + ,722 + ,725 + ,715) > 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] 466.5543 > sqrtn <- sqrt(length(x)) > (armse <- sd(x) / sqrtn) [1] 5.94732 > (armose <- arm / armse) [1] 78.44782 > (geo <- geomean(x)) [1] 457.7961 > (har <- harmean(x)) [1] 449.9333 > (qua <- quamean(x)) [1] 476.1965 > (win <- winmean(x)) [,1] [,2] [1,] 466.5543 5.944344 [2,] 466.5233 5.933390 [3,] 466.3721 5.909346 [4,] 466.4031 5.899346 [5,] 466.3643 5.888839 [6,] 466.4109 5.885046 [7,] 466.4109 5.872439 [8,] 466.4419 5.869975 [9,] 466.5116 5.856503 [10,] 466.6279 5.847606 [11,] 466.5853 5.841165 [12,] 466.5853 5.841165 [13,] 466.3837 5.799630 [14,] 466.2209 5.775530 [15,] 466.2791 5.771151 [16,] 466.3411 5.766516 [17,] 466.1434 5.737464 [18,] 466.0736 5.696561 [19,] 466.2946 5.680439 [20,] 466.1395 5.657903 [21,] 463.6977 5.316650 [22,] 463.6124 5.287436 [23,] 463.1667 5.228354 [24,] 463.2597 5.221377 [25,] 463.1628 5.188687 [26,] 463.0620 5.154842 [27,] 462.9574 5.119848 [28,] 462.5233 5.063698 [29,] 462.4109 5.026504 [30,] 461.3643 4.870568 [31,] 460.0426 4.660246 [32,] 459.2984 4.474921 [33,] 459.2984 4.450385 [34,] 458.9031 4.378929 [35,] 458.9031 4.378929 [36,] 457.0891 4.119609 [37,] 454.5078 3.841533 [38,] 454.0659 3.795964 [39,] 453.6124 3.722744 [40,] 453.4574 3.707161 [41,] 452.5039 3.612869 [42,] 451.6899 3.506093 [43,] 451.8566 3.492885 [44,] 452.0271 3.479477 [45,] 451.8527 3.462944 [46,] 451.4961 3.429395 [47,] 450.0388 3.295777 [48,] 449.6667 3.231161 [49,] 449.4767 3.214438 [50,] 449.4767 3.214438 [51,] 449.2791 3.164003 [52,] 449.2791 3.130363 [53,] 449.2791 3.130363 [54,] 449.4884 3.113698 [55,] 449.4884 3.078333 [56,] 449.4884 3.042457 [57,] 447.0581 2.839151 [58,] 447.0581 2.802872 [59,] 445.9147 2.712504 [60,] 445.9147 2.675556 [61,] 445.6783 2.620067 [62,] 445.6783 2.582323 [63,] 445.4341 2.563881 [64,] 446.1783 2.504109 [65,] 445.6744 2.466182 [66,] 445.9302 2.406408 [67,] 446.1899 2.346213 [68,] 446.4535 2.285625 [69,] 446.4535 2.285625 [70,] 447.2674 2.182572 [71,] 447.2674 2.141464 [72,] 446.9884 2.120894 [73,] 446.9884 2.120894 [74,] 446.9884 2.078370 [75,] 447.2791 2.056687 [76,] 447.2791 2.013318 [77,] 447.2791 1.969583 [78,] 447.5814 1.947400 [79,] 446.9690 1.903185 [80,] 447.2791 1.880465 [81,] 446.9651 1.857998 [82,] 447.9186 1.743426 [83,] 448.2403 1.720602 [84,] 448.2403 1.582531 [85,] 448.5698 1.559763 [86,] 448.2364 1.536221 > (tri <- trimean(x)) [,1] [,2] [1,] 466.0742 5.883957 [2,] 465.5866 5.820462 [3,] 465.1071 5.759595 [4,] 464.6720 5.704472 [5,] 464.2218 5.649289 [6,] 463.7724 5.593644 [7,] 463.3074 5.535766 [8,] 462.8347 5.476959 [9,] 462.3500 5.415309 [10,] 461.8487 5.352137 [11,] 461.3263 5.286532 [12,] 460.7991 5.217987 [13,] 460.2629 5.145457 [14,] 459.7348 5.073350 [15,] 459.2105 4.999575 [16,] 458.6726 4.921755 [17,] 458.1205 4.839554 [18,] 457.5721 4.755063 [19,] 457.0182 4.669016 [20,] 456.4404 4.578689 [21,] 455.8611 4.484431 [22,] 455.4112 4.414610 [23,] 454.9575 4.342756 [24,] 454.5190 4.271228 [25,] 454.0673 4.195500 [26,] 453.6117 4.117315 [27,] 453.1520 4.036484 [28,] 452.6881 3.952794 [29,] 452.2350 3.867770 [30,] 451.7778 3.779528 [31,] 451.3571 3.697451 [32,] 450.9845 3.625912 [33,] 450.6354 3.563071 [34,] 450.2789 3.497504 [35,] 449.9309 3.432492 [36,] 449.5753 3.362699 [37,] 449.2826 3.306928 [38,] 449.0824 3.266713 [39,] 448.8944 3.226746 [40,] 448.7191 3.188755 [41,] 448.5455 3.149086 [42,] 448.4023 3.112799 [43,] 448.2849 3.080712 [44,] 448.1588 3.047042 [45,] 448.0238 3.011656 [46,] 447.8916 2.974690 [47,] 447.7683 2.937126 [48,] 447.6914 2.905369 [49,] 447.6250 2.875191 [50,] 447.5633 2.843700 [51,] 447.5000 2.809700 [52,] 447.4416 2.776192 [53,] 447.3816 2.742094 [54,] 447.3200 2.705175 [55,] 447.2500 2.666222 [56,] 447.1781 2.626321 [57,] 447.1042 2.585404 [58,] 447.1056 2.554778 [59,] 447.1071 2.523817 [60,] 447.1449 2.495941 [61,] 447.1838 2.467925 [62,] 447.2313 2.440929 [63,] 447.2803 2.413872 [64,] 447.3385 2.385395 [65,] 447.3750 2.358339 [66,] 447.4286 2.331113 [67,] 447.4758 2.305322 [68,] 447.5164 2.281094 [69,] 447.5500 2.258561 [70,] 447.5847 2.233550 [71,] 447.5948 2.213255 [72,] 447.6053 2.193540 [73,] 447.6250 2.172949 [74,] 447.6455 2.149872 [75,] 447.6667 2.127268 [76,] 447.6792 2.103586 [77,] 447.6923 2.080398 [78,] 447.7059 2.057775 [79,] 447.7100 2.034019 [80,] 447.7347 2.010783 [81,] 447.7500 1.986357 [82,] 447.7766 1.960497 [83,] 447.7717 1.941334 [84,] 447.7556 1.921253 [85,] 447.7386 1.910381 [86,] 447.7093 1.899303 > (midr <- midrange(x)) [1] 528 > midm <- array(NA,dim=8) > for (j in 1:8) midm[j] <- midmean(x,j) > midm [1] 446.9690 447.7023 447.7023 447.7023 446.9690 447.7023 447.7023 447.7023 > postscript(file="/var/wessaorg/rcomp/tmp/1i8251324629106.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/2f8fl1324629106.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/387ux1324629106.tab") > > try(system("convert tmp/1i8251324629106.ps tmp/1i8251324629106.png",intern=TRUE)) character(0) > try(system("convert tmp/2f8fl1324629106.ps tmp/2f8fl1324629106.png",intern=TRUE)) character(0) > > > proc.time() user system elapsed 1.527 0.196 1.793