У меня есть следующий фрейм данных:
> x
tags freq.Freq
1 a 740
2 b 722
3 c 722
4 d 541
5 e 525
6 f 525
7 g 525
8 h 326
9 i 296
т.е.
x<- structure(list(tags = c("a", "b", "c", "d", "e", "f", "g", "h", "i"),
freq.Freq = c(740L, 722L, 722L, 541L, 525L, 525L, 525L, 326L, 296L)),
class = "data.frame", row.names = c("1", "2", "3", "4", "5", "6", "7", "8", "9"))
Я хотел бы заменить столбец freq.Freq
ранжированием каждой буквы в tags
. Например, a
равно 1, d
равно 4, i
равно 9. В любом случае, b
, c
и e
, f
, g
имеют одинаковые ранги. В этих случаях я хотел бы заменить freq.Freq
на среднее число «связанных» рангов. Таким образом, желаемый результат:
tags freq.Freq
1 a 1
2 b 2.5
3 c 2.5
4 d 4
5 e 6
6 f 6
7 g 6
8 h 8
9 i 9
Моя попытка:
library(dplyr)
min_rank(x$freq.Freq)
дает неправильный результат:
9 7 7 6 3 3 3 2 1