Skip to content

unlist change the ordered type

3 messages · Christophe Genolini, Charles C. Berry

#
Hi the list,

unlist respect the all the atomic type except orderd (it change of 
ordered into factor) :

### integer
class(unlist(list(1:5,1:3)))
#[1] "integer"

### numeric
class(unlist(list(1.2,3.5)))
#[1] "numeric"

### character
class(unlist(list("e","e")))
#[1] "character"

### factor
class(unlist(list(factor("e"),factor("e"))))
#[1] "factor"

### ordered
class(unlist(list(ordered("e"),ordered("e"))))
#[1] "factor"

Christophe
#
On Fri, 24 Oct 2008, Christophe Genolini wrote:

            
Consider

 	unlist(list(ordered(1:2),ordered(letters[1:4])))

Since one cannot deduce what ordering should apply, the best that can be 
done is to demote all arguments to factors.

This is the general case. Only in the special case in which all list 
elements are of class 'ordered' and the levels attributes are the same 
would this be sensible.

HTH,

Chuck
Charles C. Berry                            (858) 534-2098
                                             Dept of Family/Preventive Medicine
E mailto:cberry at tajo.ucsd.edu	            UC San Diego
http://famprevmed.ucsd.edu/faculty/cberry/  La Jolla, San Diego 92093-0901
1 day later
#
"Charles C. Berry" <cberry at tajo.ucsd.edu> a ??crit??:
This "only special" case is quite common since the use of lapply on 
ordered gives such a list

Christophe