[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