# quantile() type 1 for some ordered factors in R-devel

5 messages
Open this post in threaded view
|

## quantile() type 1 for some ordered factors in R-devel

 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]] ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Open this post in threaded view
|

## Re: quantile() type 1 for some ordered factors in R-devel

 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 <[hidden email]> 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]] > > ______________________________________________ > [hidden email] mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel>         [[alternative HTML version deleted]] ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Open this post in threaded view
|

## Re: quantile() type 1 for some ordered factors in R-devel

 In reply to this post by Tobias Rockel >>>>> Tobias Rockel writes: Thanks for spotting this, and also to Hadley for reporting to me directly. Fixed now with c78501. Best -k > 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]] > ______________________________________________ > [hidden email] mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-devel