A: полное руководство по методу связывания в функции ранжирования.


Вы можете использовать функцию Rank() в базе R, чтобы вернуть ранг значений в векторе.

Эта функция использует следующий базовый синтаксис:

Rank(x, na.last=TRUE,ties.method=»среднее»)

Золото:

  • x : вектор, содержащий значения для классификации.
  • na.last : если TRUE, пропущенные значения ставятся последними. Если FALSE, первыми ставятся пропущенные значения.
  • галстук.метод : как обрабатывать ничьи (по умолчанию «среднее»)

Аргумент Ties.method функции Rank() определяет, как следует обрабатывать связи.

Этот аргумент принимает следующие параметры:

  • среднее : (по умолчанию) каждому связанному элементу присваивается средний рейтинг (элементы, занимающие 3-е и 4-е места, получат ранг 3,5).
  • first : присваивает первому связанному элементу самый низкий ранг (элементы, занимающие 3-ю и 4-ю позиции, получат ранги 3 и 4 соответственно)
  • Last : присваивает последнему связанному элементу самый низкий ранг (элементы, занимающие 3-ю и 4-ю позиции, получат ранги 4 и 3 соответственно).
  • min : присваивает каждому связанному элементу самый низкий ранг (элементы, занимающие 3-е и 4-е места, получат ранг 3).
  • max : присваивает каждому связанному элементу наивысший ранг (элементы, занимающие 3-е и 4-е места, получат ранг 4)
  • Случайный : присваивает каждому связанному элементу случайный ранг (любой из элементов, занимающих 3-е и 4-е места, может получить любой ранг)

Следующие примеры показывают, как использовать каждую опцию на практике со следующим фреймом данных в R:

 #create data frame
df <- data. frame (player=c('A', 'B', 'C', 'D', 'E'),
                 dots=c(5, 8, 10, 10, 17))

#view data frame
df

  player points
1 to 5
2 B 8
3 C 10
4 D 10
5 E 17

Пример 1. Используйте Rank() с Ties.method=»average»

Следующий код показывает, как создать новый столбец, который использует Rank() с Ties.method=»average» для присвоения ранга каждому игроку на основе значения столбца очков :

 #create new column that ranks players based on their points value
df$points_rank = rank(df$points, ties. method = “ average ”)

#view updated data frame
df

  player points points_rank
1 to 5 1.0
2 B 8 2.0
3 C 10 3.5
4 D 10 3.5
5 E 17 5.0

Поскольку игроки C и D имели одинаковое количество очков и находились на позициях 3 и 4, они оба получили свой средний рейтинг: 3,5 .

Пример 2. Используйте Rank() с Ties.method=»first»

Следующий код показывает, как создать новый столбец, который использует Rank() с Ties.method=»first» для присвоения ранга каждому игроку на основе значения столбца очков :

 #create new column that ranks players based on their points value
df$points_rank = rank(df$points, ties. method = " first ")

#view updated data frame
df

  player points points_rank
1 to 5 1
2 B 8 2
3 C 10 3
4 D 10 4
5 E 17 5

Поскольку игроки C и D имели одинаковое количество очков и занимали позиции 3 и 4, первый игрок между этими двумя (игрок «C») получил наименьший ранг.

Пример 3. Используйте Rank() с Ties.method=»last»

Следующий код показывает, как создать новый столбец, который использует Rank() с Ties.method=»last» для присвоения ранга каждому игроку на основе значения столбца очков :

 #create new column that ranks players based on their points value
df$points_rank = rank(df$points, ties. method = " last ")

#view updated data frame
df

  player points points_rank
1 to 5 1
2 B 8 2
3 C 10 4
4 D 10 3
5 E 17 5

Поскольку игроки C и D имели одинаковое количество очков и занимали позиции 3 и 4, последний игрок между этими двумя (игрок «D») получил наименьший ранг.

Пример 4. Используйте Rank() с Ties.method=»min»

Следующий код показывает, как создать новый столбец, который использует Rank() с Ties.method=»min» для присвоения ранга каждому игроку на основе значения столбца очков :

 #create new column that ranks players based on their points value
df$points_rank = rank(df$points, ties. method = " min ")

#view updated data frame
df

  player points points_rank
1 to 5 1
2 B 8 2
3 C 10 3
4 D 10 3
5 E 17 5

Поскольку игроки C и D имели одинаковое количество очков и находились на позициях 3 и 4, оба игрока получили минимальный ранг: 3 .

Пример 5. Используйте Rank() с Ties.method=»max»

Следующий код показывает, как создать новый столбец, который использует Rank() с Ties.method=»max» для присвоения ранга каждому игроку на основе значения столбца очков :

 #create new column that ranks players based on their points value
df$points_rank = rank(df$points, ties. method = " max ")

#view updated data frame
df

  player points points_rank
1 to 5 1
2 B 8 2
3 C 10 4
4 D 10 4
5 E 17 5

Поскольку игроки C и D имели одинаковое количество очков и находились на позициях 3 и 4, оба игрока получили максимальный ранг: 4 .

Пример 6. Используйте Rank() с Ties.method=»random»

Следующий код показывает, как создать новый столбец, который использует Rank() с Ties.method=»random» для присвоения ранга каждому игроку на основе значения столбца очков :

 #create new column that ranks players based on their points value
df$points_rank = rank(df$points, ties. method = " random ")

#view updated data frame
df

  player points points_rank
1 to 5 1
2 B 8 2
3 C 10 4
4 D 10 3
5 E 17 5

Поскольку игроки C и D имели одинаковое количество очков и находились на позициях 3 и 4, каждому игроку случайным образом был присвоен ранг 3 или 4.

Обратите внимание: когда вы используете «random» для связывания.метод , ранг, присвоенный каждому значению, может меняться каждый раз, когда вы запускаете код.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в R:

Как использовать sort(), order() и Rank() в R
Как рассчитать процентильный ранг в R
Как сортировать по группам с помощью dplyr

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *