[Rd] relevel expansion suggestion

From: BXC (Bendix Carstensen) <bxc_at_steno.dk>
Date: Wed 22 Dec 2004 - 23:52:53 EST


To the R developers,

The discussion below reminded me that I think it might be a good idea to take the Relevel function from the Lexis package and replace relevel in stats with it. This is really nothing special for epidemiology.

It is fully compatible with the existing relevel (it actually contains the
relevel code almost verbatim as a subset), but it has the extra functionality
of combining levels.

I put the .R and .Rd files in
http://biostat.ku.dk/~bxc/R/suggest/
so please help yourself if you like.

Bendix Carstensen

-----Original Message-----
From: BXC (Bendix Carstensen)
Sent: Wednesday, December 22, 2004 1:38 PM To: 'anne.piotet@m-td.com'; 'R list'
Subject: RE: [R] ordering levels: I was wrong

I was wrong about needing the Relevel from the Lexis package.

The default verson of relevel does the job of reshuffling levels in any desired order, albeit with a warning (which comes from the fact that apparently only a single number had been anticipated by the designer):

> testf <- factor( sample( letters[1:4], 100, replace=T ) ) table(
> testf, newf=relevel( testf, ref=c(3,2,1,4) ) )

     newf
testf c b a d

    a 0 0 21 0
    b 0 21 0 0
    c 32 0 0 0
    d 0 0 0 26
Warning message:
the condition has length > 1 and only the first element will be used in: if (is.na(ref)) stop("ref must be an existing level")

Bendix Carstensen



Bendix Carstensen
Senior Statistician
Steno Diabetes Center
Niels Steensens Vej 2
DK-2820 Gentofte
Denmark
tel: +45 44 43 87 38
mob: +45 30 75 87 38
fax: +45 44 43 07 06

bxc@steno.dk
www.biostat.ku.dk/~bxc

> -----Original Message-----
> From: r-help-bounces@stat.math.ethz.ch
> [mailto:r-help-bounces@stat.math.ethz.ch] On Behalf Of Anne
> Sent: Wednesday, December 22, 2004 1:06 PM
> To: R list
> Subject: [R] ordering levels
>
>
> Hello!
> I would like to know if there is a simple way to reorder
> levels of a given factor.Let's say that the vector
> testf<-factor(c("red","red","red","blue","blue","white"))
> levels(testf) : blue red white
>
> should have reordered levels such as
> levels(testf) : red blue white
>
> (this is for presentation purposes)
> I guess I'm looking for a generalized version of "relevel"...
>
> Thanks
>
> Anne
>
> ----------------------------------------------------
> Anne Piotet
> Tel: +41 79 359 83 32 (mobile)
> Email: anne.piotet@m-td.com
> ---------------------------------------------------
> M-TD Modelling and Technology Development
> PSE-C
> CH-1015 Lausanne
> Switzerland
> Tel: +41 21 693 83 98
> Fax: +41 21 646 41 33
> --------------------------------------------------
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help@stat.math.ethz.ch mailing list
>
https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read

> the posting guide! http://www.R-project.org/posting-guide.html
>



R-devel@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Wed Dec 22 23:31:26 2004

This archive was generated by hypermail 2.1.8 : Thu 23 Dec 2004 - 01:16:34 EST