[Rd] Why does poly work for unordered factors?
Roland Fuß
ro|@nd@|u@@ @end|ng |rom thuenen@de
Fri Oct 24 07:40:45 CEST 2025
I think this bug highlights a much more fundamental issue:
Conceptually, as.numeric should throw an error for unordered factors or
return NaN values or maybe behave like
as.numeric(as.character(<factor>)). Even a warning would be an
improvement. I know a change like this is pretty much impossible but the
examples in help("numeric") already acknowledge how unintuitive current
behavior is. I suspect almost everbody teaching R to beginners covers
what as.numeric(<factor>) actually does (cf. The R Inferno, Section
8.2.1). And that shouldn't be necessary.
Roland
Am 22.10.2025 um 11:11 schrieb Martin Maechler:
>>>>>> Roland Fuß via R-devel
>>>>>> on Wed, 22 Oct 2025 10:24:07 +0200 writes:
> > This doesn't seem intended.
>
> You are right. The code change, reverting to previous behaviour
> notably for "Date",
> was prompted on this R-devel list,
> https://stat.ethz.ch/pipermail/r-devel/2022-July/081850.html
>
> But that the change allows poly(<factor>, .) to work was overlooked (by
> me and anyone else ..) and is a bug we will change.
>
> > See:
>
> > https://stackoverflow.com/questions/79795583/why-does-poly-work-for-unordered-factors-it-previously-did-not-work
>
> As was already raised in the above SO thread,
> what should happen for *ordered* factors is less obvious.
> A warning was proposed, but I thought that this was too harsh;
> hence, we could use message(), or just keep allowing it.
>
> Opinions?
>
> Martin
>
> --
> Martin Maechler
> ETH Zurich and R Core team
>
> > --
> > Dr. Roland Fuß
>
> > Thünen-Institut für Agrarklimaschutz/
> > Thünen Institute of Climate-Smart Agriculture
>
> > Bundesallee 65
> > D-38116 Braunschweig, Germany
More information about the R-devel
mailing list