If you just want that result, you can try tapply instead of by. > tapply(res$Score,res$ID,max) a b 2 1
On Mon, Nov 3, 2008 at 7:31 PM, Daniel Brewer <[EMAIL PROTECTED]> wrote: > Hello, > > I am trying to return a vector from a simply by but I cannot get it > working, even using simplify=TRUE. > > res <- data.frame(ID=c("a","a","a","b","b"),Score=c(0,1,2,0,1)) > yoda <- by(res$Score,res$ID,max,simplify=T) > class(yoda) > [1] "by" > > I would like it to return a vector with the names as the ID column. The > only way I could work out how to do this was > > result <- as.vector(yoda) > names(result) <- names(yoda) > result > a b > 2 1 > > Is there a better way? > > Thanks > > Dan > > -- > ************************************************************** > Daniel Brewer, Ph.D. > > Institute of Cancer Research > Molecular Carcinogenesis > Email: [EMAIL PROTECTED] > ************************************************************** > > The Institute of Cancer Research: Royal Cancer Hospital, a charitable Company > Limited by Guarantee, Registered in England under Company No. 534147 with its > Registered Office at 123 Old Brompton Road, London SW7 3RP. > > This e-mail message is confidential and for use by the...{{dropped:19}} ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.