On Aug 9, 2010, at 5:37 PM, (Ted Harding) wrote:

> Hi Folks.
> May I suggest a small addition to ?factor -- this is not explicit
> about how to force the ordering of levels in an ordered factor.
> 
> One can guess it, but I think it would be a good idea to spell it out.
> For example, one can do:
> 
>  X <- c("Alf","Bert","Chris","Dave")
>  F <- factor(X,levels=c("Dave","Alf","Chris","Bert"),ordered=TRUE)
>  F
>  # [1] Alf   Bert  Chris Dave 
>  # Levels: Dave < Alf < Chris < Bert
> 
> So, where ?factor says:
> 
>  levels: an optional vector of the values that ?x? might have taken.
>          The default is the unique set of values taken by
>          'as.character(x)', sorted into increasing order of 'x'.
>          Note that this set can be smaller than 'sort(unique(x))'.
> 
> it could include a bit extra so as to read:
> 
>  levels: an optional vector of the values that 'x' might have taken.
>          The default is the unique set of values taken by
>          'as.character(x)', sorted into increasing order of 'x'.
>          Note that this set can be smaller than 'sort(unique(x))'.
>          If 'levels=...' is present and 'ordered=TRUE', then the
>          levels are ordered according to the order in which they
>          are listed in 'levels'.

Hmm, yes, but ordered=TRUE is actually irrelevant, levels have orderings 
regardless (it matters for tabulation purposes, but also for modeling).  

[And please don't get me started about the ancient mess-up of ordered factor 
usage in the modeling code...]

I'd suggest to say something like "If 'levels' is present, then it defines the 
levels and their ordering directly, possibly including values not present in 
'x'." I'd be tempted also to add that it is really as.character(x) that is 
matched against the level set, but I'm not sure it is the right place for that.


> 
> With thanks,
> Ted.
> 
> --------------------------------------------------------------------
> E-Mail: (Ted Harding) <ted.hard...@manchester.ac.uk>
> Fax-to-email: +44 (0)870 094 0861
> Date: 09-Aug-10                                       Time: 16:37:50
> ------------------------------ XFMail ------------------------------
> 
> ______________________________________________
> R-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel

-- 
Peter Dalgaard
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Email: pd....@cbs.dk  Priv: pda...@gmail.com

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to