Skip to content
Prev 393722 / 398503 Next

as.factor and floating point numbers

Another option is to convert all times to base units or the sample rate from the analog-to-digital converter. If this is 100 milliseconds then use milliseconds rather than fractions of an hour or day. This approach might not help if the range in values spans more than 16 digits: slightly finer resolution than one year sampled in microseconds.
Tim

-----Original Message-----
From: R-help <r-help-bounces at r-project.org> On Behalf Of Andrew Simmons
Sent: Wednesday, January 25, 2023 4:13 AM
To: Tobias Fellinger <tobby at htu.at>
Cc: r-help at r-project.org
Subject: Re: [R] as.factor and floating point numbers

[External Email]

R converts floats to strings with ~15 digits of accuracy, specifically to avoid differentiating between 1 and 1 + .Machine$double.eps, it is assumed that small differences such as this are due to rounding errors and are unimportant.

So, if when making your factor, you want all digits, you could write
this: `as.factor(format(x, digits = 17L))`
On Wed, Jan 25, 2023 at 4:03 AM Tobias Fellinger <tobby at htu.at> wrote:
______________________________________________
R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstat.ethz.ch%2Fmailman%2Flistinfo%2Fr-help&data=05%7C01%7Ctebert%40ufl.edu%7C0195a6c837ad415067ac08dafeb5360b%7C0d4da0f84a314d76ace60a62331e1b84%7C0%7C0%7C638102351500433338%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=%2FqBEN7jKAYswd1Hz5xAvitS3%2F2TEGm%2FweHoUk80sBgs%3D&reserved=0
PLEASE do read the posting guide https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.r-project.org%2Fposting-guide.html&data=05%7C01%7Ctebert%40ufl.edu%7C0195a6c837ad415067ac08dafeb5360b%7C0d4da0f84a314d76ace60a62331e1b84%7C0%7C0%7C638102351500433338%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=kn%2BJ8XO8XqOpc5cKXJ6%2FDjIBfN9CH9m6qvimXLTwUBg%3D&reserved=0
and provide commented, minimal, self-contained, reproducible code.
Message-ID: <BN6PR2201MB15539137067E4D18F4CB5B2BCFCE9@BN6PR2201MB1553.namprd22.prod.outlook.com>
In-Reply-To: <CAPcHnpQAwQa3izpsFN3tydTtvXfYy3H58kY+uifGpXAiD+REVw@mail.gmail.com>