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
unlist change the ordered type
3 messages · Christophe Genolini, Charles C. Berry
On Fri, 24 Oct 2008, Christophe Genolini wrote:
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"
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
Christophe
______________________________________________ R-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
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??:
On Fri, 24 Oct 2008, Christophe Genolini wrote:
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"
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.
This "only special" case is quite common since the use of lapply on ordered gives such a list Christophe