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.