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.

Reply via email to