[Rd] Feature Request: Allow Underscore Separated Numbers
@vi@e@gross m@iii@g oii gm@ii@com
@vi@e@gross m@iii@g oii gm@ii@com
Fri Jul 15 17:56:14 CEST 2022
Jan,
Many ideas like yours are a solution that delivers something like syntactic sugar, albeit yours may be too specific. It would not be useful for say recording a social security number or other identifier that is normally clumped (albeit it is not always treated as a number) when someone wants to accurately record 123-45-6789 but must write 123456789 and possibly not chunk it right and get a wrong number. Multiplying by a thousand here won’t get the right result.
But a low tech solution at any level is to use a polynomial format of sorts so 123456789 is written as:
123 * 10^6 + 456 + 10^3 + 789
Or some similar notation.
And, can you add a new number designator along the lines of 0x12ff meaning hexadecimal so writing some prefix like "00_" might mean what follows contains underscores you can ignore when putting it into a number format?
The main reason I guess for the change seems to be for following along what others have chosen.
Avi
-----Original Message-----
From: R-devel <r-devel-bounces using r-project.org> On Behalf Of Jan van der Laan
Sent: Friday, July 15, 2022 4:28 AM
To: r-devel using r-project.org
Subject: Re: [Rd] Feature Request: Allow Underscore Separated Numbers
Another R-solution would be:
`%,%` <- function(a, b) a*1000 + b
which would allow one to write large numbers as
> 100%,%123
Resulting in 100123.
Not sure if this really helps with readability.
I actually think this could better be handled by the IDE one is working in. Most IDE's already do syntax highlighting and when a suitable font is used text as '!=' is displayed as '≠' (the unequal sign). So I guess they can also apply special formatting to large numbers such as grouping the numbers, underlining groups of three, using colour, ..
Jan
On 15-07-2022 02:21, avi.e.gross using gmail.com wrote:
> Devin,
>
> I cannot say anyone wants to tweak R after the fact to accept numeric
> items with underscores as that might impact all kinds of places.
>
> Can I suggest a workaround that allows you to enter your integer (or
> floating point which gets truncated) using this:
>
> underint <- function(text) as.integer(gsub("_+", "", text))
>
> Use a call to that anywhere you want an int like:
>
> result <- underint("1_000_000") + underint("6___6__6_6") - 6000
>
> results in: 100666
>
> If you want to see the result with underscores, using something like
> scales::comma as in
>
> You can also make similar functions that use as.numeric() and
> as.double() but note that this allows you to enter data at somewhat
> greater expense and as text/strings. Obviously a similar technique can
> be used with regular expressions of many kinds to wipe out or replace
> anything, including commas with this:
>
> undernumeric <- function(text) as.numeric(gsub("[,_]+", "", text))
>
> undernumeric("123,456.789_012")
> [1] 123456.8
>
> Yes, it truncated it but I am sure any combo of underscores and commas
> will be removed. It also truncates the same thing with all numerals and a period.
>
>
>
> -----Original Message-----
> From: R-devel <r-devel-bounces using r-project.org> On Behalf Of Devin
> Marlin
> Sent: Thursday, July 14, 2022 3:54 PM
> To: r-devel using r-project.org
> Subject: [Rd] Feature Request: Allow Underscore Separated Numbers
>
> Hello,
>
> After using R for a number of years, and venturing into other
> languages, I've noticed the ones with the ability to enter numbers
> separated by underscores for readability (like 100000 as 100_000) make
> life a whole lot easier, especially when debugging. Is this a feature
> that could be implemented in R?
>
> Regards,
>
> --
> *Devin Marlin*
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
> ______________________________________________
> R-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
______________________________________________
R-devel using r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
More information about the R-devel
mailing list