Если вы хотите ранжировать данные по столбцам, вы можете использовать apply
, таким образом:
ДАННЫЕ :
df <- data.frame(
cod = c("A", "B", "C", "D", "E"),
v1 = c(100, 300, 400, 200, 700),
v2 = c(500, 600, 900, 100, 200),
v3 = c(300, 1000, 200, 400, 500))
РЕШЕНИЕ :
df[paste0("v", 1:3, "rank")] <- apply(-df[,2:4], 2, rank)
РЕЗУЛЬТАТ :
df
cod v1 v2 v3 v1rank v2rank v3rank
1 A 100 500 300 5 3 4
2 B 300 600 1000 3 2 1
3 C 400 900 200 2 1 5
4 D 200 100 400 4 5 3
5 E 700 200 500 1 4 2