[Rd] quantile() type 1 for some ordered factors in R-devel

Trang Le gr|xor @end|ng |rom gm@||@com
Mon May 18 21:51:07 CEST 2020


Hi Tobias,

I believe this is due to the implementation of the new method for c():
c.factor() on May 11, 2020. I have very recently experienced issues around
this addition as well.

For this particular instance, the following line of code in
quantile.default() no longer gives "integer" but instead yields "factor".

x <- c(x[1L], x[1L], x, x[n], x[n])

Hence, the following calculation qs results in named factor instead of
integer, which is not expected as input in the final

qs <- factor(qs, levels = seq_along(lx), labels = lx, ordered = TRUE)

Personally, I'm a bit surprised that this change is being made on a minor
release.

Best,
Trang Le

On Mon, May 18, 2020 at 12:36 PM Tobias Rockel <rockel.to using gmail.com> wrote:

> Hi,
>
> In R-devel (2020-05-17 r78478) quantile() type 1 seems to behave a little
> bit strange for some ordered factors:
> quantile(factor(1:3, ordered = TRUE), 0.5, type = 1)
> returns “2” as expected. But
> quantile(factor(2:4, ordered = TRUE), 0.5, type = 1)
> returns “4” and
> quantile(factor(3:5, ordered = TRUE), 0.5, type = 1)
> returns “NA”. Furthermore, the function returns “NA” for calls like
> quantile(factor(c("a", "b", "c"), ordered = TRUE), 0.5, type = 1)
>
> In R 4.0.0 everything seems fine (return values “2”, “3”, “4”, “b”). If the
> vectors are treated as numeric, everything seems to work fine in R-devel,
> too. For example
> quantile(3:5, 0.5, type = 1)
> returns “4” in R-devel and R 4.0.0.
>
> Best regards,
> Tobias Rockel
>
>         [[alternative HTML version deleted]]
>
> ______________________________________________
> R-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>

	[[alternative HTML version deleted]]



More information about the R-devel mailing list