I have a dataframe with counts of different items, in different years:
df <- data.frame(item = rep(c(\'a\',\'b\',\'c\'), 3),
year = rep(c
Using order
function,
transform(dat, x= ave(count,year,FUN=function(x) order(x,decreasing=T)))
item year count x
1 a 2010 1 3
2 b 2010 4 2
3 c 2010 6 1
4 a 2011 3 2
5 b 2011 8 1
6 c 2011 3 3
7 a 2012 5 3
8 b 2012 7 2
9 c 2012 9 1
EDIT
You can use plyr
here also:
ddply(dat,.(year),transform,x = order(count,decreasing=T))