Re: [Rd] Table vs unique

From: Prof Brian Ripley <ripley_at_stats.ox.ac.uk>
Date: Wed, 21 Jul 2010 14:54:32 +0100 (BST)

I believe this is a misdiagnosis: the 'rounding' is done by as.character (as the help for argument 'levels' in ?factor does say) and ?as.character has a full explanation (and is linked from the relevant part of ?factor).

as.numeric(as.character()) should do the trick.

On Wed, 21 Jul 2010, Terry Therneau wrote:

> A bug in the survival routines was reported to me today. The root cause
> is a difference between table, unique, and sort.
>
>> temp <- rep(c(1, sqrt(2)^2, 2), 1:3)

>> unique(temp)

> [1] 1 2 2

>> table(temp)
> temp

> 1 2
> 1 5
>
> I'm using 2.10 on Linux, the user reported from 2.9 on Windows.
>
> 1. Minor issue: I think the root rounding occurs in factor. I didn't
> see any discussion of this in the help page, perhaps something should be
> added.
>
> 2. The error popped up in summary.survfit but the root cause is an
> inconsistent survfit object. The survfit routine uses sort and unique
> to create the unique survival times and most of the output, but table to
> count them for another component.
> Lumping the two versions of "2.0000...." together is the preferable
> output. I think the best solution will be to preprocess the time
> variable so that the three operators are consistent.
>
> as.numeric(as.character(as.factor(time))) ?
>
> Rather ugly. But most importantly what is a guarranteed construct that
> would ensure consistency? Should we use a rounding level that is more
> or less equivalent to all.equal()?
>
> The solution will have to be incorporated into survfit, coxph, ...
> perhaps a dozen places in the survival suite so I'd like to get it right
> the first time.
>
> Terry T
>
> ______________________________________________
> R-devel_at_r-project.org mailing list
>
https://stat.ethz.ch/mailman/listinfo/r-devel
>

-- 
Brian D. Ripley,                  ripley_at_stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

______________________________________________
R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Received on Wed 21 Jul 2010 - 13:58:33 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Thu 22 Jul 2010 - 21:40:18 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.

list of date sections of archive