[R] problem with aggregate

Prof Brian Ripley ripley at stats.ox.ac.uk
Fri May 14 20:09:36 CEST 2004


Someone forgot drop=FALSE was needed.  Fixed in R-patched.

BTW, calling an object `data' is not a good idea.

On Fri, 14 May 2004, Philippe Hupé wrote:

> Hi,
> 
> I am trying to do the following  aggregation :
> 
> 
>  data <- data.frame(a=rep(2,10),b=rep("a",10))
>  aggregate(data$a, by=list(a1=data$a, b1=data$b), NROW)
> 
> but I have the following error message
> 
> 
> Error in "names<-.default"(`*tmp*`, value = c(names(by), names(x))) :
>         names attribute [3] must be the same length as the vector [2]
> In addition: Warning message:
> row names were found from a short variable and have been discarded in: 
> data.frame(w, lapply(y, unlist, use.names = FALSE))
> 
> It works if there are more than 2 modalities in data$b. I can test if 
> there is only one modality of course but there is no reason for the 
> function not working in this particular case.
> 
> 
> I use R 1.9.0 under Solaris
> 
> 

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595




More information about the R-help mailing list