R version 3.0.2 (2013-09-25) -- "Frisbee Sailing" Copyright (C) 2013 The R Foundation for Statistical Computing Platform: x86_64-pc-linux-gnu (64-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(2341 + ,2115 + ,2402 + ,2180 + ,2453 + ,2507 + ,2679 + ,2622 + ,2618 + ,2648 + ,2523 + ,2473 + ,2513 + ,2466 + ,2544 + ,2537 + ,2564 + ,2582 + ,2716 + ,2904 + ,2851 + ,2932 + ,2772 + ,2811 + ,2935 + ,2783 + ,3003 + ,2995 + ,3127 + ,2985 + ,3287 + ,3236 + ,3252 + ,3228 + ,2856 + ,3176 + ,3362 + ,3036 + ,3330 + ,3251 + ,3318 + ,3238 + ,3597 + ,3708 + ,3902 + ,3745 + ,3426 + ,3526 + ,3483 + ,3458 + ,3824 + ,3696 + ,3518 + ,3814 + ,3996 + ,4136 + ,4037 + ,3915 + ,3760 + ,3955 + ,4160 + ,4115 + ,4202 + ,4018 + ,4233 + ,4029 + ,4401 + ,4645 + ,4491 + ,4379 + ,4394 + ,4472 + ,4614 + ,4160 + ,4328 + ,4202 + ,4635 + ,4542 + ,4920 + ,4774 + ,4698 + ,4916 + ,4703 + ,4616 + ,4873 + ,4375 + ,4801 + ,4427 + ,4684 + ,4648 + ,5225 + ,5174 + ,5181 + ,5266 + ,4839 + ,5032 + ,5221 + ,4658 + ,5014 + ,4980 + ,4952 + ,4946 + ,5365 + ,5456 + ,5397 + ,5436 + ,4995 + ,5019 + ,5249 + ,4799 + ,5137 + ,4979 + ,4951 + ,5265 + ,5612 + ,5572 + ,5403 + ,5373 + ,5252 + ,5437 + ,5296 + ,5011 + ,5294 + ,5335 + ,5398 + ,5396 + ,5724 + ,5898 + ,5718 + ,5625 + ,5380 + ,5488 + ,5678 + ,5224 + ,5596 + ,5184 + ,5620 + ,5531 + ,5816 + ,6086 + ,6175 + ,6112 + ,5813 + ,5740 + ,5821 + ,5294 + ,5881 + ,5589 + ,5845 + ,5706 + ,6355 + ,6404 + ,6426 + ,6375 + ,5869 + ,5994 + ,6105 + ,5792 + ,6011 + ,5968 + ,6255 + ,6208 + ,6897 + ,6814 + ,6897 + ,6596 + ,6188 + ,6406 + ,6548 + ,5842 + ,6555 + ,6424 + ,6596 + ,6645 + ,7203 + ,7128 + ,7133 + ,6778 + ,6593 + ,6591 + ,6120 + ,5612 + ,6070 + ,5983 + ,6145 + ,6303 + ,6588 + ,6640 + ,6719 + ,6575 + ,6487 + ,6510 + ,6365 + ,5844 + ,5974 + ,5880 + ,6279 + ,6342 + ,6598 + ,6801 + ,6529 + ,6369 + ,6028 + ,6187 + ,6164 + ,5866 + ,6198 + ,5898 + ,6462 + ,6063 + ,6496 + ,6678 + ,6554 + ,6513 + ,6210 + ,5928 + ,6268 + ,5582 + ,5869 + ,5764 + ,6082 + ,6062 + ,6810 + ,6727 + ,6537 + ,6175 + ,6014 + ,6109) > ylimmax = '' > ylimmin = '' > main = 'Robustness of Central Tendency' > #'GNU S' R Code compiled by R2WASP v. 1.2.291 () > #Author: root > #To cite this work: Wessa, P., (2012), Central Tendency (v1.0.4) 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 > # > 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] 4987.43 > sqrtn <- sqrt(length(x)) > (armse <- sd(x) / sqrtn) [1] 88.78005 > (armose <- arm / armse) [1] 56.17737 > (geo <- geomean(x)) [1] 4778.109 > (har <- harmean(x)) [1] 4540.21 > (qua <- quamean(x)) [1] 5163.685 > (win <- winmean(x)) [,1] [,2] [1,] 4987.408 88.70663 [2,] 4988.776 88.51044 [3,] 4986.539 88.09866 [4,] 4987.434 87.98407 [5,] 4985.899 87.77744 [6,] 4985.978 87.74452 [7,] 4986.746 87.58832 [8,] 4986.149 87.48885 [9,] 4984.531 87.26038 [10,] 4984.794 87.15343 [11,] 4983.154 86.94003 [12,] 4982.469 86.66231 [13,] 4983.211 86.51240 [14,] 4982.842 86.02797 [15,] 4982.974 85.98524 [16,] 4984.798 85.76539 [17,] 4986.886 85.47069 [18,] 4989.649 85.11199 [19,] 4994.066 84.54649 [20,] 4993.890 84.34048 [21,] 4994.627 83.89218 [22,] 4998.390 83.44419 [23,] 4998.289 83.33740 [24,] 5002.184 82.67407 [25,] 5004.377 82.26040 [26,] 5002.895 82.07400 [27,] 5008.461 81.39231 [28,] 5007.969 81.11861 [29,] 5007.842 80.91511 [30,] 5008.895 80.17903 [31,] 5016.373 78.46294 [32,] 5022.969 77.71590 [33,] 5027.890 76.72647 [34,] 5028.785 76.57971 [35,] 5024.640 76.19816 [36,] 5025.746 75.91254 [37,] 5025.259 75.84527 [38,] 5029.425 75.11719 [39,] 5032.504 74.40448 [40,] 5027.768 73.66460 [41,] 5029.206 72.75414 [42,] 5038.969 71.41904 [43,] 5042.553 70.63497 [44,] 5038.693 69.50801 [45,] 5045.206 68.80035 [46,] 5044.803 68.49267 [47,] 5057.377 66.92101 [48,] 5078.009 64.92588 [49,] 5078.009 64.49064 [50,] 5086.123 63.73487 [51,] 5087.018 63.23938 [52,] 5095.000 61.78284 [53,] 5091.513 61.13764 [54,] 5108.092 59.32571 [55,] 5110.504 58.99134 [56,] 5119.346 58.04530 [57,] 5124.846 56.78884 [58,] 5129.425 56.22421 [59,] 5129.167 55.74521 [60,] 5129.430 55.42547 [61,] 5150.031 53.61182 [62,] 5146.496 52.43779 [63,] 5149.259 51.59014 [64,] 5148.417 51.52800 [65,] 5155.544 50.16357 [66,] 5152.360 49.92965 [67,] 5158.825 48.97451 [68,] 5185.368 46.51167 [69,] 5187.487 44.46884 [70,] 5179.504 43.69843 [71,] 5184.175 43.32229 [72,] 5181.018 42.75622 [73,] 5189.022 42.06641 [74,] 5200.057 40.64876 [75,] 5206.307 40.15696 [76,] 5222.307 38.75964 > (tri <- trimean(x)) [,1] [,2] [1,] 4990.336 88.11072 [2,] 4993.317 87.48146 [3,] 4995.649 86.92263 [4,] 4998.795 86.48212 [5,] 5001.766 86.04723 [6,] 5005.116 85.63273 [7,] 5008.514 85.19866 [8,] 5011.858 84.76422 [9,] 5015.348 84.31733 [10,] 5019.101 83.87334 [11,] 5022.898 83.41432 [12,] 5026.936 82.95042 [13,] 5031.119 82.48679 [14,] 5035.320 82.00819 [15,] 5039.636 81.54590 [16,] 5044.031 81.05604 [17,] 5048.381 80.55336 [18,] 5052.677 80.04279 [19,] 5056.879 79.52835 [20,] 5060.888 79.02618 [21,] 5064.995 78.50492 [22,] 5069.147 77.98198 [23,] 5073.176 77.45690 [24,] 5077.300 76.90148 [25,] 5081.309 76.35591 [26,] 5085.295 75.80069 [27,] 5089.448 75.21674 [28,] 5093.424 74.63917 [29,] 5097.518 74.03656 [30,] 5101.714 73.40169 [31,] 5105.964 72.76919 [32,] 5109.982 72.20744 [33,] 5113.809 71.65302 [34,] 5117.519 71.12108 [35,] 5121.285 70.55470 [36,] 5125.321 69.96464 [37,] 5129.416 69.34397 [38,] 5133.638 68.67448 [39,] 5137.807 67.99837 [40,] 5141.966 67.31293 [41,] 5146.425 66.61496 [42,] 5150.951 65.91694 [43,] 5155.232 65.25090 [44,] 5159.500 64.57810 [45,] 5164.036 63.91673 [46,] 5168.463 63.24367 [47,] 5173.037 62.52604 [48,] 5177.288 61.85447 [49,] 5180.915 61.26442 [50,] 5184.656 60.64362 [51,] 5188.222 60.01527 [52,] 5191.871 59.35622 [53,] 5195.352 58.73548 [54,] 5199.075 58.09146 [55,] 5202.331 57.51661 [56,] 5205.612 56.90147 [57,] 5208.693 56.29034 [58,] 5211.688 55.70468 [59,] 5214.627 55.09363 [60,] 5217.685 54.44500 [61,] 5220.849 53.74169 [62,] 5223.394 53.10928 [63,] 5226.167 52.48958 [64,] 5228.950 51.85981 [65,] 5231.878 51.14958 [66,] 5234.667 50.46726 [67,] 5237.691 49.70845 [68,] 5240.609 48.93579 [69,] 5242.667 48.29967 [70,] 5244.739 47.75975 [71,] 5247.209 47.20145 [72,] 5249.619 46.59140 [73,] 5252.268 45.93561 [74,] 5254.738 45.24818 [75,] 5256.897 44.60429 [76,] 5258.921 43.90503 > (midr <- midrange(x)) [1] 4659 > midm <- array(NA,dim=8) > for (j in 1:8) midm[j] <- midmean(x,j) > midm [1] 5197.791 5208.693 5197.791 5208.693 5208.693 5197.791 5208.693 5205.612 > postscript(file="/var/wessaorg/rcomp/tmp/14akh1413131053.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/21bd71413131053.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/3p9ig1413131053.tab") > > try(system("convert tmp/14akh1413131053.ps tmp/14akh1413131053.png",intern=TRUE)) character(0) > try(system("convert tmp/21bd71413131053.ps tmp/21bd71413131053.png",intern=TRUE)) character(0) > > > proc.time() user system elapsed 1.638 0.159 1.803