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 <to...@htu.at> wrote:
>
> Hello,
>
> I'm encountering the following error:
>
> In a package for survival analysis I use a data.frame is created, one column 
> is created by applying unique on the event times while others are created by 
> running table on the event times and the treatment arm.
>
> When there are event times very close together they are put in the same 
> factor level when coerced to factor while unique outputs both values, leading 
> to different lengths of the columns.
>
> Try this to reproduce:
> x <- c(1, 1+.Machine$double.eps)
> unique(x)
> table(x)
>
> Is there a general best practice to deal with such issues?
>
> Should calling table on floats be avoided in general?
>
> What can one use instead?
>
> One could easily iterate over the unique values and compare all values with 
> the whole vector but this are N*N comparisons, compared to N*log(N) when 
> sorting first and taking into account that the vector is sorted.
>
> I think for my purposes I'll round to a hundredth of a day before calling the 
> function, but any advice on avoiding this issue an writing more fault 
> tolerant code is greatly appreciated.
>
> all the best, Tobias
>
>
>         [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to