Mam dataframe z liczbą różnych przedmiotów, w różnych latach:Dodaj „rangi” kolumny do ramki danych
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))
I chciałbym dodać „year.rank” kolumny, co daje pozycja przedmiotu w danym roku, gdzie wyższa liczba prowadzi do wyższej "rangi". Z powyższego, to będzie wyglądać:
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
wiem, co mogłem zrobić to dla całej ramki danych przy użyciu order(df$count)
, ale nie jestem pewien, w jaki sposób mogę to zrobić przez rok.
+1 bo próbowałem z rankingu bez sukcesu !! utknąłem z funkcją rangi! – agstudy
@agstudy, faktycznie opublikowałem zbyt szybko, bez powodzenia. Kluczem był '-x' (od rangi zwykle przechodzi od niskiego do wysokiego) i' ties.method' (ponieważ pozycja zazwyczaj jest średnia). – A5C1D2H2I1M1N2O1R2T1
To świetnie, dziękuję. – Wilduck