[R] Quantiles with ordered categories

Martin Maechler maechler at stat.math.ethz.ch
Thu Mar 16 18:25:29 CET 2017


>>>>>   <matthias-gondan at gmx.de>
>>>>>     on Tue, 14 Mar 2017 21:54:42 +0100 writes:

    > I found it:
    > quantile(ordered(1:10), probs=0.5, type=1) 

    > works, because type=1 seems to round up or down, whatever. The default option for is 7, which wants to interpolate, and then produces the error. 

    > Two options come to my mind:

    > - The error message could be improved.
    > - The default type could be 1 if the data is from ordered categories.
    > - Or both.

Well, it is remarkable that nobody looks at the help page (or
the source code) of quantile() to be informed.

In 'Details' it has contained

    Types 1 and 3 can be used for class; "Date" and for ordered factors.

since Oct 15, 2009 ...

But I agree that the error message can be improved and have done
so now, so that instead of

    "factors are not allowed"

you now get

    "'type' must be 1 or 3 for ordered factors"


    > It is probably a little thing to fix, but I lack the skills to do this myself.

(Really? -- After seeing the change you will agree it was easy .. ?)


Thank you for the suggestion.

Best regards,

Martin Maechler
ETH Zurich


    > Best wishes,
    > Matthias


    > Von: Bert Gunter
    > Gesendet: Dienstag, 14. März 2017 21:34
    > An: matthias-gondan at gmx.de
    > Cc: r-help at r-project.org
    > Betreff: Re: [R] Quantiles with ordered categories

    > Inline.
    > Bert Gunter

    > "The trouble with having an open mind is that people keep coming along
    > and sticking things into it."
    > -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip )


    > On Tue, Mar 14, 2017 at 12:36 PM,  <matthias-gondan at gmx.de> wrote:
    >> Dear R users,
    >> 
    >> This works:
    >> 
    >> quantile(1:10, probs=0.5)
    >> 
    >> This fails (obviously):
    >> 
    >> quantile(factor(1:10), probs=0.5)
    >> 
    >> But why do quantiles for ordered factors not work either?
    >> 
    >> quantile(ordered(1:10), probs=0.5)
    >> 
    >> Is it because interpolation (see the optional type argument) is not defined?
    > Yes.


    > Is there an elegant workaround?
    > No. How can there be? By definition, all that is assumed by an ordered
    > factor is an ordering of the categories. How can you "interpolate" in
    > ordered(letters[1:3]) . ASAIK there is no "a.5"  .

    > -- Bert



    >> 
    >> Thank you.
    >> 
    >> Best wishes,
    >> 
    >> Matthias
    >> 
    >> [[alternative HTML version deleted]]
    >> 
    >> ______________________________________________
    >> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
    >> https://stat.ethz.ch/mailman/listinfo/r-help
    >> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
    >> and provide commented, minimal, self-contained, reproducible code.


    > [[alternative HTML version deleted]]

    > ______________________________________________
    > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
    > https://stat.ethz.ch/mailman/listinfo/r-help
    > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
    > and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list