[R] expand.grid and the first level of a factor
    Uwe Ligges 
    ligges at statistik.uni-dortmund.de
       
    Sat May  3 15:23:59 CEST 2003
    
    
  
Giovanni Marchetti wrote:
> I do not understand this behaviour of expand.grid:
> 
> 
>>expand.grid(x = c("b", "a"), y = c(1, 2))$x
> 
> [1] b a b a
> Levels: b a
> 
>>expand.grid(x = c("b", "a"))$x
> 
> [1] b a
> Levels: a b
> 
> Why the first level of the factor x depends on the number
> of arguments of expand.grid? Apparently, I can set 
> the order of the levels only when the number of 
> arguments in > 1. In the second example, the order 
> is lexicographic.
> 
> -- Giovanni
It depends on the number of arguments, because of the implementation 
(look into the code):
In principle, expand.grid(x = c("b", "a")) does the following:
  x <- c("b", "a")
  factor(x)
whereas for expand.grid(x = c("b", "a"), y = c(1, 2)), the levels will 
be specified as in:
  factor(x, levels = unique(x))
Hence the difference.
Uwe Ligges
    
    
More information about the R-help
mailing list