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
______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
