R version 2.8.0 (2008-10-20) 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. Natural language support but running in an English locale 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(80,79,78,76,74,73,74,76,77,77,78,80,90,90,89,82,78,76,74,78,81,82,88,99,117,113,106,100,97,96,100,104,104,111,117,118,140,147,134,126,116,114,120,122,117,119,132,134,154,152,132,130,123,129,124,128,128,129,141,138,155,160,142,133,131,140,134,134,134,136,145,137,152,168,160,157,147,161,159,164,163,158,175,163) > #'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!) > num <- 50 > res <- array(NA,dim=c(num,3)) > 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] + } + } + } + } > iqd <- 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) + } + iqdiff <- qvalue3 - qvalue1 + return(c(iqdiff,iqdiff/2,iqdiff/(qvalue3 + qvalue1))) + } > range <- max(x) - min(x) > lx <- length(x) > biasf <- (lx-1)/lx > varx <- var(x) > bvarx <- varx*biasf > sdx <- sqrt(varx) > mx <- mean(x) > bsdx <- sqrt(bvarx) > x2 <- x*x > mse0 <- sum(x2)/lx > xmm <- x-mx > xmm2 <- xmm*xmm > msem <- sum(xmm2)/lx > axmm <- abs(x - mx) > medx <- median(x) > axmmed <- abs(x - medx) > xmmed <- x - medx > xmmed2 <- xmmed*xmmed > msemed <- sum(xmmed2)/lx > qarr <- array(NA,dim=c(8,3)) > for (j in 1:8) { + qarr[j,] <- iqd(x,j) + } > sdpo <- 0 > adpo <- 0 > for (i in 1:(lx-1)) { + for (j in (i+1):lx) { + ldi <- x[i]-x[j] + aldi <- abs(ldi) + sdpo = sdpo + ldi * ldi + adpo = adpo + aldi + } + } > denom <- (lx*(lx-1)/2) > sdpo = sdpo / denom > adpo = adpo / denom > gmd <- 0 > for (i in 1:lx) { + for (j in 1:lx) { + ldi <- abs(x[i]-x[j]) + gmd = gmd + ldi + } + } > gmd <- gmd / (lx*(lx-1)) > sumx <- sum(x) > pk <- x / sumx > ck <- cumsum(pk) > dk <- array(NA,dim=lx) > for (i in 1:lx) { + if (ck[i] <= 0.5) dk[i] <- ck[i] else dk[i] <- 1 - ck[i] + } > bigd <- sum(dk) * 2 / (lx-1) > iod <- 1 - sum(pk*pk) > res[1,] <- c('Absolute range','http://www.xycoon.com/absolute.htm', range) > res[2,] <- c('Relative range (unbiased)','http://www.xycoon.com/relative.htm', range/sd(x)) > res[3,] <- c('Relative range (biased)','http://www.xycoon.com/relative.htm', range/sqrt(varx*biasf)) > res[4,] <- c('Variance (unbiased)','http://www.xycoon.com/unbiased.htm', varx) > res[5,] <- c('Variance (biased)','http://www.xycoon.com/biased.htm', bvarx) > res[6,] <- c('Standard Deviation (unbiased)','http://www.xycoon.com/unbiased1.htm', sdx) > res[7,] <- c('Standard Deviation (biased)','http://www.xycoon.com/biased1.htm', bsdx) > res[8,] <- c('Coefficient of Variation (unbiased)','http://www.xycoon.com/variation.htm', sdx/mx) > res[9,] <- c('Coefficient of Variation (biased)','http://www.xycoon.com/variation.htm', bsdx/mx) > res[10,] <- c('Mean Squared Error (MSE versus 0)','http://www.xycoon.com/mse.htm', mse0) > res[11,] <- c('Mean Squared Error (MSE versus Mean)','http://www.xycoon.com/mse.htm', msem) > res[12,] <- c('Mean Absolute Deviation from Mean (MAD Mean)', 'http://www.xycoon.com/mean2.htm', sum(axmm)/lx) > res[13,] <- c('Mean Absolute Deviation from Median (MAD Median)', 'http://www.xycoon.com/median1.htm', sum(axmmed)/lx) > res[14,] <- c('Median Absolute Deviation from Mean', 'http://www.xycoon.com/mean3.htm', median(axmm)) > res[15,] <- c('Median Absolute Deviation from Median', 'http://www.xycoon.com/median2.htm', median(axmmed)) > res[16,] <- c('Mean Squared Deviation from Mean', 'http://www.xycoon.com/mean1.htm', msem) > res[17,] <- c('Mean Squared Deviation from Median', 'http://www.xycoon.com/median.htm', msemed) > > #Note: the /var/www/html/freestat/rcomp/createtable file can be downloaded at http://www.wessa.net/cretab > load(file="/var/www/html/freestat/rcomp/createtable") > > mylink1 <- hyperlink('http://www.xycoon.com/difference.htm','Interquartile Difference','') > mylink2 <- paste(mylink1,hyperlink('http://www.xycoon.com/method_1.htm','(Weighted Average at Xnp)',''),sep=' ') > res[18,] <- c('', mylink2, qarr[1,1]) > mylink2 <- paste(mylink1,hyperlink('http://www.xycoon.com/method_2.htm','(Weighted Average at X(n+1)p)',''),sep=' ') > res[19,] <- c('', mylink2, qarr[2,1]) > mylink2 <- paste(mylink1,hyperlink('http://www.xycoon.com/method_3.htm','(Empirical Distribution Function)',''),sep=' ') > res[20,] <- c('', mylink2, qarr[3,1]) > mylink2 <- paste(mylink1,hyperlink('http://www.xycoon.com/method_4.htm','(Empirical Distribution Function - Averaging)',''),sep=' ') > res[21,] <- c('', mylink2, qarr[4,1]) > mylink2 <- paste(mylink1,hyperlink('http://www.xycoon.com/method_5.htm','(Empirical Distribution Function - Interpolation)',''),sep=' ') > res[22,] <- c('', mylink2, qarr[5,1]) > mylink2 <- paste(mylink1,hyperlink('http://www.xycoon.com/method_6.htm','(Closest Observation)',''),sep=' ') > res[23,] <- c('', mylink2, qarr[6,1]) > mylink2 <- paste(mylink1,hyperlink('http://www.xycoon.com/method_7.htm','(True Basic - Statistics Graphics Toolkit)',''),sep=' ') > res[24,] <- c('', mylink2, qarr[7,1]) > mylink2 <- paste(mylink1,hyperlink('http://www.xycoon.com/method_8.htm','(MS Excel (old versions))',''),sep=' ') > res[25,] <- c('', mylink2, qarr[8,1]) > mylink1 <- hyperlink('http://www.xycoon.com/deviation.htm','Semi Interquartile Difference','') > mylink2 <- paste(mylink1,hyperlink('http://www.xycoon.com/method_1.htm','(Weighted Average at Xnp)',''),sep=' ') > res[26,] <- c('', mylink2, qarr[1,2]) > mylink2 <- paste(mylink1,hyperlink('http://www.xycoon.com/method_2.htm','(Weighted Average at X(n+1)p)',''),sep=' ') > res[27,] <- c('', mylink2, qarr[2,2]) > mylink2 <- paste(mylink1,hyperlink('http://www.xycoon.com/method_3.htm','(Empirical Distribution Function)',''),sep=' ') > res[28,] <- c('', mylink2, qarr[3,2]) > mylink2 <- paste(mylink1,hyperlink('http://www.xycoon.com/method_4.htm','(Empirical Distribution Function - Averaging)',''),sep=' ') > res[29,] <- c('', mylink2, qarr[4,2]) > mylink2 <- paste(mylink1,hyperlink('http://www.xycoon.com/method_5.htm','(Empirical Distribution Function - Interpolation)',''),sep=' ') > res[30,] <- c('', mylink2, qarr[5,2]) > mylink2 <- paste(mylink1,hyperlink('http://www.xycoon.com/method_6.htm','(Closest Observation)',''),sep=' ') > res[31,] <- c('', mylink2, qarr[6,2]) > mylink2 <- paste(mylink1,hyperlink('http://www.xycoon.com/method_7.htm','(True Basic - Statistics Graphics Toolkit)',''),sep=' ') > res[32,] <- c('', mylink2, qarr[7,2]) > mylink2 <- paste(mylink1,hyperlink('http://www.xycoon.com/method_8.htm','(MS Excel (old versions))',''),sep=' ') > res[33,] <- c('', mylink2, qarr[8,2]) > mylink1 <- hyperlink('http://www.xycoon.com/variation1.htm','Coefficient of Quartile Variation','') > mylink2 <- paste(mylink1,hyperlink('http://www.xycoon.com/method_1.htm','(Weighted Average at Xnp)',''),sep=' ') > res[34,] <- c('', mylink2, qarr[1,3]) > mylink2 <- paste(mylink1,hyperlink('http://www.xycoon.com/method_2.htm','(Weighted Average at X(n+1)p)',''),sep=' ') > res[35,] <- c('', mylink2, qarr[2,3]) > mylink2 <- paste(mylink1,hyperlink('http://www.xycoon.com/method_3.htm','(Empirical Distribution Function)',''),sep=' ') > res[36,] <- c('', mylink2, qarr[3,3]) > mylink2 <- paste(mylink1,hyperlink('http://www.xycoon.com/method_4.htm','(Empirical Distribution Function - Averaging)',''),sep=' ') > res[37,] <- c('', mylink2, qarr[4,3]) > mylink2 <- paste(mylink1,hyperlink('http://www.xycoon.com/method_5.htm','(Empirical Distribution Function - Interpolation)',''),sep=' ') > res[38,] <- c('', mylink2, qarr[5,3]) > mylink2 <- paste(mylink1,hyperlink('http://www.xycoon.com/method_6.htm','(Closest Observation)',''),sep=' ') > res[39,] <- c('', mylink2, qarr[6,3]) > mylink2 <- paste(mylink1,hyperlink('http://www.xycoon.com/method_7.htm','(True Basic - Statistics Graphics Toolkit)',''),sep=' ') > res[40,] <- c('', mylink2, qarr[7,3]) > mylink2 <- paste(mylink1,hyperlink('http://www.xycoon.com/method_8.htm','(MS Excel (old versions))',''),sep=' ') > res[41,] <- c('', mylink2, qarr[8,3]) > res[42,] <- c('Number of all Pairs of Observations', 'http://www.xycoon.com/pair_numbers.htm', lx*(lx-1)/2) > res[43,] <- c('Squared Differences between all Pairs of Observations', 'http://www.xycoon.com/squared_differences.htm', sdpo) > res[44,] <- c('Mean Absolute Differences between all Pairs of Observations', 'http://www.xycoon.com/mean_abs_differences.htm', adpo) > res[45,] <- c('Gini Mean Difference', 'http://www.xycoon.com/gini_mean_difference.htm', gmd) > res[46,] <- c('Leik Measure of Dispersion', 'http://www.xycoon.com/leiks_d.htm', bigd) > res[47,] <- c('Index of Diversity', 'http://www.xycoon.com/diversity.htm', iod) > res[48,] <- c('Index of Qualitative Variation', 'http://www.xycoon.com/qualitative_variation.htm', iod*lx/(lx-1)) > res[49,] <- c('Coefficient of Dispersion', 'http://www.xycoon.com/dispersion.htm', sum(axmm)/lx/medx) > res[50,] <- c('Observations', '', lx) > res [,1] [1,] "Absolute range" [2,] "Relative range (unbiased)" [3,] "Relative range (biased)" [4,] "Variance (unbiased)" [5,] "Variance (biased)" [6,] "Standard Deviation (unbiased)" [7,] "Standard Deviation (biased)" [8,] "Coefficient of Variation (unbiased)" [9,] "Coefficient of Variation (biased)" [10,] "Mean Squared Error (MSE versus 0)" [11,] "Mean Squared Error (MSE versus Mean)" [12,] "Mean Absolute Deviation from Mean (MAD Mean)" [13,] "Mean Absolute Deviation from Median (MAD Median)" [14,] "Median Absolute Deviation from Mean" [15,] "Median Absolute Deviation from Median" [16,] "Mean Squared Deviation from Mean" [17,] "Mean Squared Deviation from Median" [18,] "" [19,] "" [20,] "" [21,] "" [22,] "" [23,] "" [24,] "" [25,] "" [26,] "" [27,] "" [28,] "" [29,] "" [30,] "" [31,] "" [32,] "" [33,] "" [34,] "" [35,] "" [36,] "" [37,] "" [38,] "" [39,] "" [40,] "" [41,] "" [42,] "Number of all Pairs of Observations" [43,] "Squared Differences between all Pairs of Observations" [44,] "Mean Absolute Differences between all Pairs of Observations" [45,] "Gini Mean Difference" [46,] "Leik Measure of Dispersion" [47,] "Index of Diversity" [48,] "Index of Qualitative Variation" [49,] "Coefficient of Dispersion" [50,] "Observations" [,2] [1,] "http://www.xycoon.com/absolute.htm" [2,] "http://www.xycoon.com/relative.htm" [3,] "http://www.xycoon.com/relative.htm" [4,] "http://www.xycoon.com/unbiased.htm" [5,] "http://www.xycoon.com/biased.htm" [6,] "http://www.xycoon.com/unbiased1.htm" [7,] "http://www.xycoon.com/biased1.htm" [8,] "http://www.xycoon.com/variation.htm" [9,] "http://www.xycoon.com/variation.htm" [10,] "http://www.xycoon.com/mse.htm" [11,] "http://www.xycoon.com/mse.htm" [12,] "http://www.xycoon.com/mean2.htm" [13,] "http://www.xycoon.com/median1.htm" [14,] "http://www.xycoon.com/mean3.htm" [15,] "http://www.xycoon.com/median2.htm" [16,] "http://www.xycoon.com/mean1.htm" [17,] "http://www.xycoon.com/median.htm" [18,] "Interquartile Difference (Weighted Average at Xnp)" [19,] "Interquartile Difference (Weighted Average at X(n+1)p)" [20,] "Interquartile Difference (Empirical Distribution Function)" [21,] "Interquartile Difference (Empirical Distribution Function - Averaging)" [22,] "Interquartile Difference (Empirical Distribution Function - Interpolation)" [23,] "Interquartile Difference (Closest Observation)" [24,] "Interquartile Difference (True Basic - Statistics Graphics Toolkit)" [25,] "Interquartile Difference (MS Excel (old versions))" [26,] "Semi Interquartile Difference (Weighted Average at Xnp)" [27,] "Semi Interquartile Difference (Weighted Average at X(n+1)p)" [28,] "Semi Interquartile Difference (Empirical Distribution Function)" [29,] "Semi Interquartile Difference (Empirical Distribution Function - Averaging)" [30,] "Semi Interquartile Difference (Empirical Distribution Function - Interpolation)" [31,] "Semi Interquartile Difference (Closest Observation)" [32,] "Semi Interquartile Difference (True Basic - Statistics Graphics Toolkit)" [33,] "Semi Interquartile Difference (MS Excel (old versions))" [34,] "Coefficient of Quartile Variation (Weighted Average at Xnp)" [35,] "Coefficient of Quartile Variation (Weighted Average at X(n+1)p)" [36,] "Coefficient of Quartile Variation (Empirical Distribution Function)" [37,] "Coefficient of Quartile Variation (Empirical Distribution Function - Averaging)" [38,] "Coefficient of Quartile Variation (Empirical Distribution Function - Interpolation)" [39,] "Coefficient of Quartile Variation (Closest Observation)" [40,] "Coefficient of Quartile Variation (True Basic - Statistics Graphics Toolkit)" [41,] "Coefficient of Quartile Variation (MS Excel (old versions))" [42,] "http://www.xycoon.com/pair_numbers.htm" [43,] "http://www.xycoon.com/squared_differences.htm" [44,] "http://www.xycoon.com/mean_abs_differences.htm" [45,] "http://www.xycoon.com/gini_mean_difference.htm" [46,] "http://www.xycoon.com/leiks_d.htm" [47,] "http://www.xycoon.com/diversity.htm" [48,] "http://www.xycoon.com/qualitative_variation.htm" [49,] "http://www.xycoon.com/dispersion.htm" [50,] "" [,3] [1,] "102" [2,] "3.44989943455274" [3,] "3.47061973757525" [4,] "874.153040734366" [5,] "863.7464569161" [6,] "29.5660792249220" [7,] "29.3895637415069" [8,] "0.249628169152020" [9,] "0.248137838404521" [10,] "14891.8928571429" [11,] "863.7464569161" [12,] "25.2423469387755" [13,] "25.1071428571429" [14,] "23.0595238095238" [15,] "24" [16,] "863.7464569161" [17,] "880.22619047619" [18,] "51" [19,] "50.75" [20,] "51" [21,] "50.5" [22,] "50.25" [23,] "51" [24,] "50.25" [25,] "51" [26,] "25.5" [27,] "25.375" [28,] "25.5" [29,] "25.25" [30,] "25.125" [31,] "25.5" [32,] "25.125" [33,] "25.5" [34,] "0.222707423580786" [35,] "0.221374045801527" [36,] "0.222707423580786" [37,] "0.220043572984749" [38,] "0.218715995647443" [39,] "0.222707423580786" [40,] "0.218715995647443" [41,] "0.222707423580786" [42,] "3486" [43,] "1748.30608146873" [44,] "34.0863453815261" [45,] "34.0863453815261" [46,] "0.48036794882818" [47,] "0.987362233489904" [48,] "0.999258164013879" [49,] "0.206059975010412" [50,] "84" > a<-table.start() > a<-table.row.start(a) > a<-table.element(a,'Variability - Ungrouped Data',2,TRUE) > a<-table.row.end(a) > for (i in 1:num) { + a<-table.row.start(a) + if (res[i,1] != '') { + a<-table.element(a,hyperlink(res[i,2],res[i,1],''),header=TRUE) + } else { + a<-table.element(a,res[i,2],header=TRUE) + } + a<-table.element(a,res[i,3]) + a<-table.row.end(a) + } > a<-table.end(a) > table.save(a,file="/var/www/html/freestat/rcomp/tmp/1pmn11282047756.tab") > > > > proc.time() user system elapsed 0.435 0.027 0.454