我有不同的項目數一個數據幀,在不同的年份:一個「等級」欄添加到數據幀
df <- data.frame(item = rep(c('a','b','c'), 3),
year = rep(c('2010','2011','2012'), each=3),
count = c(1,4,6,3,8,3,5,7,9))
而且我想補充一個「year.rank」一欄,這使一個項目在給定年份內的排名,更高的數字會導致更高的「排名」。通過上述方式,它看上去像:
item year count year.rank
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
我知道我可以使用order(df$count)
整個數據幀做到這一點,但我不知道我怎麼會在今年做到這一點。
1,因爲我試圖與排名不更迭!我堅持排名的功能! – agstudy 2013-03-02 04:53:36
@agstudy,我實際上最初發布得太快,沒有成功。關鍵是'-x'(因爲排名通常從低到高)和'tie.method'(因爲排名通常默認爲平均值)。 – A5C1D2H2I1M1N2O1R2T1 2013-03-02 04:56:42
這很好,謝謝。 – Wilduck 2013-03-02 05:09:39