On Aug 31, 2011, at 11:45 AM, zhenjiang xu wrote:

> Hi R users,
> 
> suppose I have two vectors,
>> x=c(1,2,3,4,5)
>> y=c('a','b','c','a','c')
> How can I get a data.frame like this?
>> xy
>      count
> a     5
> b     2
> c     8
> 
> I know a few ways to fulfill the task. However, I have a huge number
> of this kind calculations, so I'd like an efficient solution. Thanks


See ?rep and ?as.data.frame.table

Try this:

> data.frame(table(rep(y, x)))
  Var1 Freq
1    a    5
2    b    2
3    c    8

HTH,

Marc Schwartz

______________________________________________
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