Re: [Rd] max on numeric_version with long components

2024-04-27 Thread Kurt Hornik
> Ivan Krylov via R-devel writes: Indeed, apparently using which.min/which.max on the string encoding is not good enough. ? which.min says that x can also be an R object for which the internal coercion to ‘double’ works and I guess we found a case where it does not work. I'll look into

Re: [Rd] max on numeric_version with long components

2024-04-27 Thread Ivan Krylov via R-devel
В Sat, 27 Apr 2024 13:56:58 -0500 Jonathan Keane пишет: > In devel: > > max(numeric_version(c("1.0.1.1", "1.0.3.1", > "1.0.2.1"))) > [1] ‘1.0.1.1’ > > max(numeric_version(c("1.0.1.1000", "1.0.3.1000", > "1.0.2.1000"))) > [1] ‘1.0.3.1000’ Thank

[Rd] max on numeric_version with long components

2024-04-27 Thread Jonathan Keane
I've noticed something in R devel which seems a little off and not the behavior I see in 4.4.0 or earlier versions. With numeric_versions that have long (>8 digit) final components max and min return the first element and not the max or min: In devel: > max(numeric_version(c("1.0.1.1", "1.

Re: [Rd] read.csv

2024-04-27 Thread Kevin Coombes
I was horrified when I saw John Weinstein's article about Excel turning gene names into dates. Mainly because I had been complaining about that phenomenon for years, and it never remotely occurred to me that you could get a publication out of it. I eventually rectified the situation by publishing

Re: [Rd] Should c(..., recursive = TRUE) and unlist(x, recursive = TRUE) recurse into expression vectors?

2024-04-27 Thread Mikael Jagan
On 2024-04-27 10:53 am, Mikael Jagan wrote: Reading the body of function 'AnswerType' in bind.c, called from 'do_c' and 'do_unlist', I notice that EXPRSXP and VECSXP are handled identically in the recurse = TRUE case. A corollary is that c(recursive = TRUE) and unlist(recursive = TRUE) t

[Rd] Should c(..., recursive = TRUE) and unlist(x, recursive = TRUE) recurse into expression vectors?

2024-04-27 Thread Mikael Jagan
Reading the body of function 'AnswerType' in bind.c, called from 'do_c' and 'do_unlist', I notice that EXPRSXP and VECSXP are handled identically in the recurse = TRUE case. A corollary is that c(recursive = TRUE) and unlist(recursive = TRUE) treat expression vectors like expression(a, b)