x <- rnorm(200, 4, 10)
x <-sort(x)
i <- 0; f <- 0
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) {
# Definition 7 is algebraically identical to q2 in this implementation.
q2(data,n,p,i,f)
}
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]
}
}
}
}
lx <- length(x)
qval <- array(NA,dim=c(99,8))
mystep <- 25
mystart <- 25
if (lx>10){
mystep=10
mystart=10
}
if (lx>20){
mystep=5
mystart=5
}
if (lx>50){
mystep=2
mystart=2
}
if (lx>=100){
mystep=1
mystart=1
}
for (perc in seq(mystart,99,mystep)) {
qval[perc,1] <- q1(x,lx,perc/100,i,f)
qval[perc,2] <- q2(x,lx,perc/100,i,f)
qval[perc,3] <- q3(x,lx,perc/100,i,f)
qval[perc,4] <- q4(x,lx,perc/100,i,f)
qval[perc,5] <- q5(x,lx,perc/100,i,f)
qval[perc,6] <- q6(x,lx,perc/100,i,f)
qval[perc,7] <- q7(x,lx,perc/100,i,f)
qval[perc,8] <- q8(x,lx,perc/100,i,f)
}
mydf = data.frame(`WA Xnp` = qval[,1],
`WA X(n+1)p` = qval[,2],
`EDF` = qval[,3],
`EDF Av` = qval[,4],
`EDF Int` = qval[,5],
`Cl Obs` = qval[,6],
`TBasic` = qval[,7],
`Excel` = qval[,8]
)
rownames(mydf) = seq(mystart,99,mystep) / 100
mydf
# we only plot the values for the fifth definition
plot(rownames(mydf), mydf[,5], xlab = "quantile", ylab = "value", main = "Quantiles (definition 5)")
WA.Xnp WA.X.n.1.p EDF EDF.Av EDF.Int Cl.Obs TBasic Excel
0.01 -17.792374372 -17.77584433 -17.792374372 -16.96587214 -16.15589996 -17.792374372 -17.77584433 -17.792374372
0.02 -15.182203761 -15.15501598 -15.182203761 -14.50250917 -13.85000237 -15.182203761 -15.15501598 -15.182203761
0.03 -12.601611343 -12.57652157 -12.601611343 -12.18344854 -11.79037551 -12.601611343 -12.57652157 -12.601611343
0.04 -11.599727986 -11.57579356 -11.599727986 -11.30054767 -11.02530178 -11.599727986 -11.57579356 -11.599727986
0.05 -10.016577186 -10.01610246 -10.016577186 -10.01182996 -10.00755745 -10.016577186 -10.01610246 -10.016577186
0.06 -9.807193494 -9.78523899 -9.807193494 -9.62423931 -9.46323962 -9.807193494 -9.78523899 -9.807193494
0.07 -9.001205357 -8.99506437 -8.913476920 -8.91347692 -8.91961791 -9.001205357 -8.99506437 -9.001205357
0.08 -8.825002551 -8.82494375 -8.825002551 -8.82463502 -8.82432629 -8.825002551 -8.82494375 -8.825002551
0.09 -8.623161182 -8.59297099 -8.623161182 -8.45543792 -8.31790484 -8.623161182 -8.59297099 -8.623161182
0.1 -8.220608651 -8.20647367 -8.220608651 -8.14993375 -8.09339382 -8.220608651 -8.20647367 -8.220608651
0.11 -7.988045167 -7.96016163 -7.988045167 -7.86130184 -7.76244204 -7.988045167 -7.96016163 -7.988045167
0.12 -6.888534877 -6.87965883 -6.888534877 -6.85155133 -6.82344384 -6.888534877 -6.87965883 -6.888534877
0.13 -5.653171127 -5.64400826 -5.653171127 -5.61792931 -5.59185037 -5.653171127 -5.64400826 -5.653171127
0.14 -5.521262151 -5.51412236 -5.470263673 -5.47026367 -5.47740346 -5.521262151 -5.51412236 -5.521262151
0.15 -5.311828723 -5.30540967 -5.311828723 -5.29043187 -5.27545407 -5.311828723 -5.30540967 -5.311828723
0.16 -4.884349214 -4.88150311 -4.884349214 -4.87545513 -4.86940716 -4.884349214 -4.88150311 -4.884349214
0.17 -4.826251200 -4.73887094 -4.826251200 -4.56925044 -4.39962994 -4.826251200 -4.73887094 -4.826251200
0.18 -4.263746919 -4.25157577 -4.263746919 -4.22993818 -4.20830059 -4.263746919 -4.25157577 -4.263746919
0.19 -4.193332170 -4.19063704 -4.193332170 -4.18623973 -4.18184242 -4.193332170 -4.19063704 -4.193332170
0.2 -4.135028100 -4.12461559 -4.135028100 -4.10899681 -4.09337804 -4.135028100 -4.12461559 -4.135028100
0.21 -3.792290401 -3.74289977 -3.792290401 -3.67469366 -3.60648756 -3.792290401 -3.74289977 -3.792290401
0.22 -3.394863356 -3.37271059 -3.394863356 -3.34451615 -3.31632172 -3.394863356 -3.37271059 -3.394863356
0.23 -2.928296083 -2.90281219 -2.928296083 -2.87289631 -2.84298044 -2.928296083 -2.90281219 -2.928296083
0.24 -2.754456930 -2.68560507 -2.754456930 -2.61101555 -2.53642603 -2.754456930 -2.68560507 -2.754456930
0.25 -2.396900060 -2.38566069 -2.396900060 -2.37442131 -2.36318194 -2.396900060 -2.38566069 -2.396900060
0.26 -2.329720165 -2.30314097 -2.329720165 -2.27860633 -2.25407169 -2.329720165 -2.30314097 -2.329720165
0.27 -2.093632753 -2.06754754 -2.093632753 -2.04532680 -2.02310607 -2.093632753 -2.06754754 -2.093632753
0.28 -1.890835405 -1.81549836 -1.621774516 -1.62177452 -1.69711157 -1.890835405 -1.81549836 -1.890835405
0.29 -1.605105483 -1.60418619 -1.605105483 -1.60510548 -1.60285479 -1.605105483 -1.60418619 -1.605105483
0.3 -1.538284180 -1.53498952 -1.538284180 -1.53279309 -1.53059665 -1.538284180 -1.53498952 -1.538284180
0.31 -1.305601411 -1.25246814 -1.305601411 -1.21990259 -1.18733704 -1.305601411 -1.25246814 -1.305601411
0.32 -0.966072626 -0.92091935 -0.966072626 -0.89552063 -0.87012192 -0.966072626 -0.92091935 -0.966072626
0.33 -0.473586593 -0.39541290 -0.473586593 -0.35514161 -0.31487031 -0.473586593 -0.39541290 -0.473586593
0.34 -0.200003523 -0.18640388 -0.200003523 -0.18000405 -0.17360422 -0.200003523 -0.18640388 -0.200003523
0.35 -0.002845812 0.05186401 -0.002845812 0.07531107 0.09875814 -0.002845812 0.05186401 -0.002845812
0.36 0.829730174 0.84100803 0.829730174 0.84539386 0.84977969 0.829730174 0.84100803 0.829730174
0.37 0.989951174 1.01521696 0.989951174 1.02409413 1.03297130 0.989951174 1.01521696 0.989951174
0.38 1.069210698 1.08486954 1.069210698 1.08981444 1.09475933 1.069210698 1.08486954 1.069210698
0.39 1.260791192 1.27449482 1.260791192 1.27835994 1.28222507 1.260791192 1.27449482 1.260791192
0.4 1.359143317 1.37157378 1.359143317 1.37468140 1.37778901 1.359143317 1.37157378 1.359143317
0.41 1.541189892 1.59004305 1.541189892 1.60076691 1.61149078 1.541189892 1.59004305 1.541189892
0.42 1.676538464 1.70679765 1.676538464 1.71256131 1.71832496 1.676538464 1.70679765 1.676538464
0.43 1.846019983 1.85626950 1.846019983 1.85793803 1.85960655 1.846019983 1.85626950 1.846019983
0.44 1.881064829 1.94587942 1.881064829 1.95471777 1.96355612 1.881064829 1.94587942 1.881064829
0.45 2.070172164 2.08742062 2.070172164 2.08933712 2.09125361 2.070172164 2.08742062 2.070172164
0.46 2.766010354 2.76720215 2.766010354 2.76730578 2.76740942 2.766010354 2.76720215 2.766010354
0.47 3.073320497 3.12855551 3.073320497 3.13208115 3.13560679 3.073320497 3.12855551 3.073320497
0.48 3.226370866 3.28174805 3.226370866 3.28405543 3.28636281 3.226370866 3.28174805 3.226370866
0.49 3.444650507 3.52192508 3.444650507 3.52350211 3.52507914 3.444650507 3.52192508 3.444650507
0.5 3.611350416 3.65034239 3.611350416 3.65034239 3.65034239 3.611350416 3.65034239 3.650342386
0.51 3.945282336 4.05594925 3.945282336 4.05377931 4.05160937 3.945282336 4.05594925 4.162276288
0.52 4.209065067 4.23922275 4.209065067 4.23806284 4.23690293 4.209065067 4.23922275 4.267060606
0.53 4.294868770 4.31684096 4.294868770 4.31559725 4.31435354 4.294868770 4.31684096 4.336325729
0.54 4.507361417 4.51081411 4.507361417 4.51055835 4.51030260 4.507361417 4.51081411 4.513755290
0.55 4.622368222 4.63658686 4.648220288 4.64822029 4.63400165 4.622368222 4.63658686 4.648220288
0.56 4.698673679 4.74646890 4.784022293 4.78402229 4.73622707 4.698673679 4.74646890 4.784022293
0.57 4.815647739 4.94017456 4.815647739 4.81564774 4.90958902 4.815647739 4.94017456 5.034115846
0.58 5.129249689 5.50221815 5.129249689 5.12924969 5.39933030 5.129249689 5.50221815 5.772298759
0.59 5.916578813 5.92968085 5.916578813 5.92768224 5.92568362 5.916578813 5.92968085 5.938785660
0.6 5.982299236 6.13471160 5.982299236 6.10930954 6.08390748 5.982299236 6.13471160 6.236319850
0.61 6.642975074 6.67419865 6.642975074 6.66856817 6.66293769 6.642975074 6.67419865 6.694161257
0.62 6.823451694 6.84023878 6.823451694 6.83698967 6.83374056 6.823451694 6.84023878 6.850527647
0.63 6.958302192 7.11677817 6.958302192 7.08407678 7.05137539 6.958302192 7.11677817 7.209851365
0.64 7.296714752 7.36750751 7.296714752 7.35202159 7.33653568 7.296714752 7.36750751 7.407328430
0.65 7.728687463 7.74191913 7.728687463 7.73886567 7.73581221 7.728687463 7.74191913 7.749043873
0.66 7.830509674 7.83919416 7.830509674 7.83708883 7.83498350 7.830509674 7.83919416 7.843667982
0.67 7.924933241 7.95002788 7.924933241 7.94366058 7.93729329 7.924933241 7.95002788 7.962387929
0.68 8.105561475 8.12836089 8.105561475 8.12232575 8.11629061 8.105561475 8.12836089 8.139090025
0.69 8.141347572 8.43706395 8.141347572 8.35563480 8.27420565 8.141347572 8.43706395 8.569922028
0.7 8.723651965 8.73282221 8.723651965 8.73020214 8.72758207 8.723651965 8.73282221 8.736752314
0.71 8.743380661 8.92396747 8.743380661 8.87055447 8.81714147 8.743380661 8.92396747 8.997728284
0.72 9.196782469 9.25094288 9.196782469 9.23439386 9.21784485 9.196782469 9.25094288 9.272005259
0.73 9.349249828 9.42544521 9.349249828 9.40143844 9.37743168 9.349249828 9.42544521 9.453627058
0.74 9.738438685 9.80132100 9.738438685 9.78092673 9.76053247 9.738438685 9.80132100 9.823414784
0.75 9.929167617 10.29301895 9.929167617 10.17173517 10.05045139 9.929167617 10.29301895 10.414302724
0.76 10.738993906 10.90290214 10.738993906 10.84682827 10.79075440 10.738993906 10.90290214 10.954662639
0.77 11.219785561 11.58576448 11.219785561 11.45743421 11.32910394 11.219785561 11.58576448 11.695082854
0.78 11.735697146 11.94686217 11.735697146 11.87105934 11.79525651 11.735697146 11.94686217 12.006421529
0.79 12.043410028 12.28053766 12.043410028 12.19349081 12.10644396 12.043410028 12.28053766 12.343571584
0.8 12.840159257 12.96912896 12.840159257 12.92076532 12.87240168 12.840159257 12.96912896 13.001371390
0.81 13.058205272 13.06758155 13.058205272 13.06399310 13.06040465 13.058205272 13.06758155 13.069780920
0.82 13.194584556 13.23079105 13.194584556 13.21666169 13.20253232 13.194584556 13.23079105 13.238738823
0.83 13.267821488 13.65854819 13.267821488 13.50319902 13.34784985 13.267821488 13.65854819 13.738576555
0.84 14.312539068 14.38730078 14.312539068 14.35704009 14.32677939 14.312539068 14.38730078 14.401541102
0.85 14.791028949 15.15353973 14.791028949 15.00427058 14.85500144 14.791028949 15.15353973 15.217512219
0.86 15.688767614 15.96706778 15.688767614 15.85057004 15.73407229 15.688767614 15.96706778 16.012372461
0.87 16.065085422 16.17993949 16.065085422 16.13109351 16.08224752 16.065085422 16.17993949 16.197101595
0.88 16.233150681 16.37309142 16.233150681 16.31266247 16.25223351 16.233150681 16.37309142 16.392174254
0.89 16.705914625 16.73991561 16.705914625 16.72501630 16.71011699 16.705914625 16.73991561 16.744117979
0.9 16.982964171 17.08777606 16.982964171 17.04119300 16.99460994 16.982964171 17.08777606 17.099421829
0.91 17.349053464 17.51637333 17.349053464 17.44098745 17.36560158 17.349053464 17.51637333 17.532921445
0.92 17.535557501 17.82234968 17.535557501 17.69142282 17.56049595 17.535557501 17.82234968 17.847288132
0.93 19.684395840 19.78612034 19.684395840 19.73908643 19.69205252 19.684395840 19.78612034 19.793777022
0.94 19.911966311 20.21089751 19.911966311 20.07097227 19.93104703 19.911966311 20.21089751 20.229978221
0.95 20.495700130 21.42460679 20.495700130 20.98459837 20.54458995 20.495700130 21.42460679 21.473496610
0.96 21.548570872 21.67076902 21.548570872 21.61221574 21.55366246 21.548570872 21.67076902 21.675860605
0.97 22.168280306 22.55060533 22.168280306 22.36535506 22.18010479 22.168280306 22.55060533 22.562429820
0.98 22.771469596 23.25125000 22.771469596 23.01625552 22.78126103 22.771469596 23.25125000 23.261041442
0.99 23.724728628 24.28570993 23.724728628 24.00805252 23.73039511 23.724728628 24.28570993 24.291376411
