|
(50G) Percentiles according to Hyndman&Fan's 9 types + Tukey_inc _box plot +- HP Forums (https://www.hpmuseum.org/forum) +-- Forum: HP Software Libraries (https://www.hpmuseum.org/forum/forum-10.html) +--- Forum: General Software Library (https://www.hpmuseum.org/forum/forum-13.html) +--- Thread: (50G) Percentiles according to Hyndman&Fan's 9 types + Tukey_inc _box plot (/thread-23928.html) |
(50G) Percentiles according to Hyndman&Fan's 9 types + Tukey_inc _box plot - Gil - 2025-08-13 19:23 Version 11b Input: 2 arguments - in stack level 2: list (unordered) of the elements/numbers - in stack level 1: wished percentile; for 10%, 25%, etc., write here 10, 25, etc. (and not .10, 0.25, etc.) or Input: 3 arguments - in stack level 3: list (unordered) of the elements/numbers - in stack level 2: wished percentile; for 10%, 25%, etc., write here 10, 25, etc. (and not .10, 0.25, etc.) - in stack level 1: list of integers >=1 corresponding to the frequencies of the numbers in the first list (or in stack level 1: list of wi, 0<wi<1, corresponding to the weights of the numbers in the first list) Output a) recap summary for checking and b) results according to up to 17 different methods a) recap summary for checking - P% - ordered list of numbers (&, if frequencies or weights, ordered list of frequencies/weights and cumulative list of frequencies/weights) - n - mean b) results according to up to 17 different methods - type method or principal softwares - k (rank k, k>= 1 and k<=n, in the ordered list: 1, for the first value, 2 for the second one, 3 for the 3rd one; 3.25 = 3rd value +25%[value4 - value3] (but k is <1 and >0 in case of weights) - x_k, corresponding value, always lin. interpolated as above with k=3.25 (but no interpolation in case of weights) * if weights, only one single result for k & also only one single result for the corresponding x_k value, then always according to just method type R4, with k=np=(Swi)p * if no weights, always 15 methods —a) b), c) & d) — for quantiles/percentiles + possible 2 other methods — e) & f) — for Q1, Q2 and Q3: a) 9 Hyndman&Fan's types (same types in R statistical software) b) 4 variations of type R7 (floor, ceil, midpoint and nearest point) c) Mendenhall&Sincich method d) Cunnane method * and also, always if no weights, 2 others methods, e) & f), for quartiles Q1, Q2 & Q3, but only when P%=25%, P=0.5 or 75%: e) Moore&McCabe = for Q1, Q2 & Q3 used in both HP Prime & TI[83] calculators (≠quantile/percentiles type R1 used in HP calculators) f) Tukey's inclusive method for boxplots Q1, Q2 & Q3 - and, lastly, but only if no weights and only when P%=50%, g) the "usual median" with k=(n+1)/2, with then repeated results of definition R6 calculated previously Goal Comparison of possible different results for same percentile input, according to - 15 methods for P%≠25%, P≠50% or 75% - or 17 methods when P%=25%, P=50% or 75% with reference to some (statistical) softwares or calculators (R, SAS, Minitab, SPSS, S(plus), Mathematica, TI 83 & HP Prime. *if weights, only one single method calculated: R4. Correspondences A) 9 types in R according to 9 Hyndman&Fan's types: R1 —>SAS3 —>pHP *if p=.25/.5 /.75, R1 does not correspond to 2nd method described below in E) or in F) with quartiles Q1, Q2 and Q3 (MM Qi TI HP) R2 —>SAS5 (SAS by default) R3 —>SAS2 R4 —>old defaultPython<=1.9 —>SAS1 —>weighted method R5 —>Hazen —>Mathematica —>old XLS.exc ! R6 —>Weibull/Gumbel1939 —>SAS4 —>XLSexc —>Minitab —>SPSS R7 (default in R) —>Python>=1.1—>XLSinc —>S(plus) Added old NumPy: 7b floor 7c ceil 7d midpoint 7e next point R8 (Johnson&Kotz 1970) R9 (Blom 1958) B) 1 Mendenhall&Sincich method; no correspondence C) 5 SAS PCTDEF: PCTDEF=1 —>R4 —>old defaultPython<=1.9 PCTDEF=2 —>R3 —>SAS2 PCTDEF=3 —>R1 —>pTI —>pHP PCTDEF=4 —>R6 —>Weibull/Gumbel1939 —>XLSexc —>Minitab —>SPSS PCTDEF=5 (default in SAS) —>R2 * missing in SAS the R types 5/7/8/9 D) 2 XLS methods: excluding —>R6 >Weibull/Gumbel1939 —>SAS4 —>Minitab —>SPSS including (by default) —>R7 >Python>=1.1 —>S(plus) (*old XLS.exc —> R5 —>Hazen —>Mathematica) E) 2 TI[83] or HP[Prime] methods: e1) 1st method: "for percentiles, only for HP Prime" —>R1 —>SAS3 * if p=.25/.5/.75, that 1st method "HP for percentiles" (R1) does not correspond to 2nd method below "TI HP for quartiles Q1, Q2 & Q3" (MM)! e2) 2nd method: "for quartiles Q1, Q2 & Q3, for both calculators TI & HP" —>Moore&McCabe (MM) —>Tukey_exclusive (Te) * that 2nd method "TI HP for quartiles Q1, Q2 & Q3" (MM) does not correspond to 1st method above "HP for percentile" (R1) when p=0.25, 0.5 or 0.75! F) 1 Mathematica method —>R5 —>Hazen —>old XLS.exc ! G) 1 Hazen method —>R5 —> Matemática —>old XLS.exc ! H) Minitab —>R6 —>SAS4 —>Weibull/Gumbel1939 —>XLSexc —>SPSS I) SPSS —>R6 —>SAS4 —>Weibull/Gumbel1939 —>XLSexc —>Minitab J) Weibull/Gumbel1939 —>R6 —>SAS4 —>XLSexc —>Minitab K) Python>=1.1 —>R7 —>XLSinc —>S(plus) L) 1 Moore&McCabe (MM) method: for Q1 Q2 & Q3 TI HP calculators ≠ method HP for percentiles! (see both methods e1) & e2) mentioned in E) above) M) 2 Tukey methods for Q1, Q2 & Q3 used for boxplots : exclusive (Te) —> MM inclusive: no correspondence Code \<< "2/3 Arg Version11 2 Arg: a1) original unordered list of# {#1 #2 #n} a2) percentile (ex: 7 for 7% <not 0.07> 25 or 75 for 1st/3rd quartile 50 for median) or 3 Arg: . a1 {#1#n} a2 (P%) & a3 {f1fn} = list freq corresp. to a1 fi integers \>= 1 or . a1 {#1#n} a2 (P%) & a3 {w1wn} = list weights corr. to a1 0<wi<1 NB with wi, k & x_k only with type R4 below 9 Hyndman&Fan's (HF/R) types \->R; & 1517 methods(types) (with weights, only 1 type: R4 below) https://www. rdocumentation.org/ packages/stats/ versions/3.6.2/ topics/quantile 1=inv empirical nearest upper rank \->SAS3 \->pHP (only) (if p=.25/.5 /.75 \=/ MM Q1/2/3 HP TI) 2=like 1, but avg inv at discont. best for Eric Langford for population \->SAS5=SAS default 3=nearest even integ \->SAS2 4=lin interp <old defaultPython \<=1.9> \->SAS1 only method avail. with weights! 5=lin interp \->Hines&Montgomery (HM) \->Hazen (H) \->Mathematica (M) \->Wolfram (W) \->Hog&Ledolter (HL) <=old XLS.exc !> 6=lin inter Popular method (P) Weibull/Gumbel 1939 exclude median \->Python? (Py) \->SAS4 \->Minitab (MT) \->XLSe[xc] \->q_SPSS (\=/Q_SPSS) 7=best? in gener. use lin interp for sample always incl median default in R & Python\>=1.1 (\->defP) \->vanFreund&Perles (V) \->XLSi[nc] \->S(plus) 7b floor 7c ceiling 7d mid point 7e next point 8=lin interp \->Johnson&Kotz 1970 median unbiased 9=lin interp normal unbiased \->Blom 1958 1 Mendenhall&Sincich (MS) . (wrong formula by Wolfram shown but not calc here) . correct calc here 1 Cunnane \->SciPy.mquantiles (SciPy.mq) 1 Moore&McCabe (MM) med excl for Q1&Q3 \->TI[83] \->HP[Prime] 1 Tukey: avg for Q1&3 in boxplot median inc, but if n=even, median exc \->Q_SPSS 5 SAS options: 1\->HF4 2\->3 3\->1 4\->6 5(default)\->2 missing: HF 5/7/8/9 2 XLS: interp .exc (n\>=5) \->R6 but when n=5 or 6 it excl min/max! .inc:best? (n\>=4)\->R7 1 vanFreund&Perles(V) \->R7 1 Mathematica \->R5 1 Wolfram (W) \->R5 2 HP (1 TI) .only HP p \->R1; if p=.25/.5 .75\=/Q1/2/3 in HP/TI .both TI/HP, but only for Q1/2/3 (\=/pHP .25/.5/.75) \->MM 2 SPSS .p \->R6 .Qi \->Tukey 1 Minitab (MT) \->R6 1 S(plus) \->R7 " DROP -105 CF DUP TYPE 5 \=/ IF THEN 0 END PICK3 SIZE 0 0 0 0 0 MAXR \->NUM \-> l p lf s lo lf\GS n k j fmin \<< \<< \->NUM DUP FP 0 == { R\->I } IFT 'k' STO IF fmin 1 \>= THEN CASE k 1 < THEN k 4 RND "\->1" + 1 'k' STO END k n > THEN k 4 RND "\->" + n DUP FP 0 == { R\->I } IFT + n 'k' STO END k END ELSE k END "k" fmin 1 < { "=pn" + } IFT \->TAG IF lf 0 \=/ THEN 1 s FOR i lf\GS i GET k - 0 \>= IF THEN i IF i 1 > fmin 1 \>= AND THEN k lf\GS i 1 - GET - 1 < IF THEN k FP + 1 - END END s 'i' STO END NEXT 'k' STO END k FP lo k IP GETI UNROT GET OVER - ROT * + "x_k" \->TAG \>> \-> xk \<< p DUP FP 0 == { R\->I } IFT "P%" \->TAG .01 'p' STO* l SORT "lo" \->TAG DUP 'lo' STO IF lf 0 \=/ THEN { } 1 s FOR i lf l lo i GET POS GET DUP fmin MIN 'fmin' STO + NEXT 'lf' STO lf HEAD DUP 1 \->LIST SWAP 2 s FOR i lf i GET + DUP ROT SWAP + SWAP NEXT 'n' STO DUP 'lf\GS' STO fmin 1 \>= "f\GS" "wi\GS" IFTE \->TAG lf fmin 1 \>= "fo" "wi.o" IFTE \->TAG SWAP OVER 4 PICK * \GSLIST n / \->NUM "mean" \->TAG n DUP FP 0 == { R\->I } IFT "n" fmin 1 < { "=\GSwi" + } IFT \->TAG SWAP ELSE s 'n' STO DUP \GSLIST n / \->NUM "mean" \->TAG n "n" \->TAG SWAP END IF fmin 1 \>= THEN "R1=SAS3 pHP" CASE p .25 == THEN "\=/Q1HP" + END p .5 == THEN "\=/Q2HP" + END p .75 == THEN "\=/Q3HP" + END END 'n*p' \->NUM CEIL xk EVAL "R2=SAS5 Langford" 'n*p' \->NUM DUP 'k' STO IF FP 0 == THEN k .5 + ELSE k CEIL END xk EVAL "R3=SAS2" 'n*p-.5' \->NUM DUP 'k' STO FLOOR 'j' STO j IF j 2 MOD NOT k j == AND NOT THEN 1 + END xk EVAL END "R4=SAS1" fmin 1 < IF THEN "Only " SWAP + END 'n*p' xk EVAL IF fmin 1 \>= THEN "R5=p&Q:M/H/HM/W" 'n*p+.5' xk EVAL "6=XLSeSAS4MTpSPSS P Py" '(n+1)*p' xk EVAL "7=XLSidefP/R S+V" '(n-1)*p+1' xk EVAL "7b (n-1)p+1 down" '(n-1)*p+1' FLOOR xk EVAL "7c (n-1)p+1 ceil" '(n-1)*p+1' CEIL xk EVAL "7d(n-1)p+1 midPt" '(n-1)*p+1' DUP FLOOR SWAP CEIL + 2 / xk EVAL "7e(n-1)p+1 nxtPt" '(n-1)*p+1' DUP FP .5 \<= { FLOOR } { CEIL } IFTE xk EVAL "R8=Johnson&Kotz" '(n+1/3)*p+1/3' 5 RND xk EVAL "R9=Blom" '(n+1/4)*p+3/8' xk EVAL "Mendenhall&S(MS)" "Wolfram wrong eq for MS:" 'n*p' \->NUM DUP FP .5 \=/ IF THEN 0 RND END DROP2 "Correct eq for MM:" DROP '(n+1)*p' CASE p .5 > THEN FLOOR END p .5 < THEN CEIL END END xk EVAL "Cunnane SciPy.mquantiles" '(n+.2)*p+.4' xk EVAL IF p .25 == p .5 == OR p .75 == OR THEN "MMexc Q" CASE p .25 == THEN "1" END p .5 == THEN "2" END p .75 == THEN "3" END END + "(\=/p)TI HP" + 'n*p+.5+(p-.5)*(n MOD 2)' xk EVAL END p .25 == p .5 == OR p .75 == OR IF THEN "TukeyincBox QSPSS" 'n*p+.5+(.5-p)*(n MOD 2)' xk EVAL END p .5 == IF THEN "Usual med (Q2) R6" '(n+1)*p' xk EVAL END END \>> \>> \>> Tests/Checking No guarantee of the real algorithms implementation for the different methods/types or softwares mentioned. 12 Examples { { { 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 } :n: 100 :mean: 50.5 :P%: 25 "R1=SAS3 pHPQ1HP" :k: 25 :x_k: 25 "R2=SAS5 Langford" :k: 25.5 :x_k: 25.5 "R3=SAS2" :k: 25 :x_k: 25 "R4=SAS1" :k: 25 :x_k: 25. "R5=Mathematica H" :k: 25.5 :x_k: 25.5 "R6XLSeSAS4MTSPSS" :k: 25.25 :x_k: 25.25 "R7XLSi S Python" :k: 25.75 :x_k: 25.75 "R8" :k: 25.41667 :x_k: 25.41667 "R9" :k: 25.4375 :x_k: 25.4375 "Mendenhall&S.(MS)" :k: 25 :x_k: 25. "MM: Q1(p) TI HP" :k: 25.5 :x_k: 25.5 "Tukeyinc_boxplot" :k: 25.5 :x_k: 25.5 } { { 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 } :n: 101 :mean: 51. :P%: 25 "R1=SAS3 pHPQ1HP" :k: 26 :x_k: 26 "R2=SAS5 Langford" :k: 26 :x_k: 26 "R3=SAS2" :k: 25 :x_k: 25 "R4=SAS1" :k: 25.25 :x_k: 25.25 "R5=Mathematica H" :k: 25.75 :x_k: 25.75 "R6XLSeSAS4MTSPSS" :k: 25.5 :x_k: 25.5 "R7XLSi S Python" :k: 26 :x_k: 26. "R8" :k: 25.66667 :x_k: 25.66667 "R9" :k: 25.6875 :x_k: 25.6875 "Mendenhall&S.(MS)" :k: 26 :x_k: 26. "MM: Q1(p) TI HP" :k: 25.5 :x_k: 25.5 "Tukeyinc_boxplot" :k: 26 :x_k: 26. } { { 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 } :n: 102 :mean: 51.5 :P%: 25 "R1=SAS3 pHPQ1HP" :k: 26 :x_k: 26 "R2=SAS5 Langford" :k: 26 :x_k: 26 "R3=SAS2" :k: 26 :x_k: 26 "R4=SAS1" :k: 25.5 :x_k: 25.5 "R5=Mathematica H" :k: 26 :x_k: 26. "R6XLSeSAS4MTSPSS" :k: 25.75 :x_k: 25.75 "R7XLSi S Python" :k: 26.25 :x_k: 26.25 "R8" :k: 25.91667 :x_k: 25.91667 "R9" :k: 25.9375 :x_k: 25.9375 "Mendenhall&S.(MS)" :k: 26 :x_k: 26. "MM: Q1(p) TI HP" :k: 25.5 :x_k: 25.5 "Tukeyinc_boxplot" :k: 26 :x_k: 26. } { { 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 } :n: 103 :mean: 52. :P%: 25 "R1=SAS3 pHPQ1HP" :k: 26 :x_k: 26 "R2=SAS5 Langford" :k: 26 :x_k: 26 "R3=SAS2" :k: 26 :x_k: 26 "R4=SAS1" :k: 25.75 :x_k: 25.75 "R5=Mathematica H" :k: 26.25 :x_k: 26.25 "R6XLSeSAS4MTSPSS" :k: 26 :x_k: 26. "R7XLSi S Python" :k: 26.5 :x_k: 26.5 "R8" :k: 26.16667 :x_k: 26.16667 "R9" :k: 26.1875 :x_k: 26.1875 "Mendenhall&S.(MS)" :k: 26 :x_k: 26. "MM: Q1(p) TI HP" :k: 26 :x_k: 26. "Tukeyinc_boxplot" :k: 26.5 :x_k: 26.5 } { { 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 } :n: 100 :mean: 50.5 :P%: 50 "R1=SAS3 pHPQ2HP" :k: 50 :x_k: 50 "R2=SAS5 Langford" :k: 50.5 :x_k: 50.5 "R3=SAS2" :k: 50 :x_k: 50 "R4=SAS1" :k: 50 :x_k: 50. "R5=Mathematica H" :k: 50.5 :x_k: 50.5 "R6XLSeSAS4MTSPSS" :k: 50.5 :x_k: 50.5 "R7XLSi S Python" :k: 50.5 :x_k: 50.5 "R8" :k: 50.5 :x_k: 50.5 "R9" :k: 50.5 :x_k: 50.5 "Mendenhall&S.(MS)" :k: 50 :x_k: 50. "MM: Q3(p) TI HP" :k: 50.5 :x_k: 50.5 "Tukeyinc_boxplot" :k: 50.5 :x_k: 50.5 "R6:usual med (Q2)" :k: 50.5 :x_k: 50.5 } { { 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 } :n: 101 :mean: 51. :P%: 50 "R1=SAS3 pHPQ2HP" :k: 51 :x_k: 51 "R2=SAS5 Langford" :k: 51 :x_k: 51 "R3=SAS2" :k: 50 :x_k: 50 "R4=SAS1" :k: 50.5 :x_k: 50.5 "R5=Mathematica H" :k: 51 :x_k: 51. "R6XLSeSAS4MTSPSS" :k: 51 :x_k: 51. "R7XLSi S Python" :k: 51 :x_k: 51. "R8" :k: 51 :x_k: 51. "R9" :k: 51 :x_k: 51. "Mendenhall&S.(MS)" :k: 50.5 :x_k: 50.5 "MM: Q3(p) TI HP" :k: 51 :x_k: 51. "Tukeyinc_boxplot" :k: 51.5 :x_k: 51.5 "R6:usual med (Q2)" :k: 51. :x_k: 51. } { { 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 } :n: 102 :mean: 51.5 :P%: 50 "R1=SAS3 pHPQ2HP" :k: 51 :x_k: 51 "R2=SAS5 Langford" :k: 51.5 :x_k: 51.5 "R3=SAS2" :k: 51 :x_k: 51 "R4=SAS1" :k: 51 :x_k: 51. "R5=Mathematica H" :k: 51.5 :x_k: 51.5 "R6XLSeSAS4MTSPSS" :k: 51.5 :x_k: 51.5 "R7XLSi S Python" :k: 51.5 :x_k: 51.5 "R8" :k: 51.5 :x_k: 51.5 "R9" :k: 51.5 :x_k: 51.5 "Mendenhall&S.(MS)" :k: 51 :x_k: 51. "MM: Q3(p) TI HP" :k: 51.5 :x_k: 51.5 "Tukeyinc_boxplot" :k: 51.5 :x_k: 51.5 "R6:usual med (Q2)" :k: 51.5 :x_k: 51.5 } { { 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 } :n: 103 :mean: 52. :P%: 50 "R1=SAS3 pHPQ2HP" :k: 52 :x_k: 52 "R2=SAS5 Langford" :k: 52 :x_k: 52 "R3=SAS2" :k: 52 :x_k: 52 "R4=SAS1" :k: 51.5 :x_k: 51.5 "R5=Mathematica H" :k: 52 :x_k: 52. "R6XLSeSAS4MTSPSS" :k: 52 :x_k: 52. "R7XLSi S Python" :k: 52 :x_k: 52. "R8" :k: 52 :x_k: 52. "R9" :k: 52 :x_k: 52. "Mendenhall&S.(MS)" :k: 51.5 :x_k: 51.5 "MM: Q3(p) TI HP" :k: 52 :x_k: 52. "Tukeyinc_boxplot" :k: 52.5 :x_k: 52.5 "R6:usual med (Q2)" :k: 52. :x_k: 52. } { { 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 } :n: 100 :mean: 50.5 :P%: 75 "R1=SAS3 pHPQ3HP" :k: 75 :x_k: 75 "R2=SAS5 Langford" :k: 75.5 :x_k: 75.5 "R3=SAS2" :k: 75 :x_k: 75 "R4=SAS1" :k: 75 :x_k: 75. "R5=Mathematica H" :k: 75.5 :x_k: 75.5 "R6XLSeSAS4MTSPSS" :k: 75.75 :x_k: 75.75 "R7XLSi S Python" :k: 75.25 :x_k: 75.25 "R8" :k: 75.58333 :x_k: 75.58333 "R9" :k: 75.5625 :x_k: 75.5625 "Mendenhall&S.(MS)" :k: 75 :x_k: 75. "MM: Q3(p) TI HP" :k: 75.5 :x_k: 75.5 "Tukeyinc_boxplot" :k: 75.5 :x_k: 75.5 } { { 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 } :n: 101 :mean: 51. :P%: 75 "R1=SAS3 pHPQ3HP" :k: 76 :x_k: 76 "R2=SAS5 Langford" :k: 76 :x_k: 76 "R3=SAS2" :k: 76 :x_k: 76 "R4=SAS1" :k: 75.75 :x_k: 75.75 "R5=Mathematica H" :k: 76.25 :x_k: 76.25 "R6XLSeSAS4MTSPSS" :k: 76.5 :x_k: 76.5 "R7XLSi S Python" :k: 76 :x_k: 76. "R8" :k: 76.33333 :x_k: 76.33333 "R9" :k: 76.3125 :x_k: 76.3125 "Mendenhall&S.(MS)" :k: 75 :x_k: 75. "MM: Q3(p) TI HP" :k: 76.5 :x_k: 76.5 "Tukeyinc_boxplot" :k: 77 :x_k: 77. } { { 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 } :n: 102 :mean: 51.5 :P%: 75 "R1=SAS3 pHPQ3HP" :k: 77 :x_k: 77 "R2=SAS5 Langford" :k: 77 :x_k: 77 "R3=SAS2" :k: 76 :x_k: 76 "R4=SAS1" :k: 76.5 :x_k: 76.5 "R5=Mathematica H" :k: 77 :x_k: 77. "R6XLSeSAS4MTSPSS" :k: 77.25 :x_k: 77.25 "R7XLSi S Python" :k: 76.75 :x_k: 76.75 "R8" :k: 77.08333 :x_k: 77.08333 "R9" :k: 77.0625 :x_k: 77.0625 "Mendenhall&S.(MS)" :k: 76 :x_k: 76. "MM: Q3(p) TI HP" :k: 77.5 :x_k: 77.5 "Tukeyinc_boxplot" :k: 77 :x_k: 77. } { { 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 } :n: 103 :mean: 52. :P%: 75 "R1=SAS3 pHPQ3HP" :k: 78 :x_k: 78 "R2=SAS5 Langford" :k: 78 :x_k: 78 "R3=SAS2" :k: 77 :x_k: 77 "R4=SAS1" :k: 77.25 :x_k: 77.25 "R5=Mathematica H" :k: 77.75 :x_k: 77.75 "R6XLSeSAS4MTSPSS" :k: 78 :x_k: 78. "R7XLSi S Python" :k: 77.5 :x_k: 77.5 "R8" :k: 77.83333 :x_k: 77.83333 "R9" :k: 77.8125 :x_k: 77.8125 "Mendenhall&S.(MS)" :k: 77 :x_k: 77. "MM: Q3(p) TI HP" :k: 78 :x_k: 78. "Tukeyinc_boxplot" :k: 78.5 :x_k: 78.5 } } RE: (50G) Percentiles according to 17 methods (Hyndman&Fan, Tukey, etc. ) - Gil - 2025-08-29 16:07 Version 11b Now you can add a list of frequencies fi, fi integer >=1 Example 1) Enter the following list of numbers in stack level 3: { 50 20 30 10 40 } 2) Enter 25 in stack level 2 for 1st Quartile 3) Enter the frequencies in stack level 1: { 30 40 10 20 10 } and run the program. You can add also weights wi, 0<wi<1. Example 1) Enter the following list of numbers in stack level 3: { 50 20 30 10 40 } 2) Enter 25 in stack level 2 for 1st Quartile 3) Enter the weights in stack level 1: { 30 40 10 20 10 } 110./ ie { .272727272727 .363636363636 9.09090909091E-2 .181818181818 9.09090909091E-2 } or other values like {.2 .4 0.2 0.1 0.1} and execute the program. Tukey's method In the previous versions 9/10, there was an error in the formula that was fixed up now. Note To save memory, you can delete the huge explanation/comment at the program beginning before the first instruction DROP. |