R: um guia completo para tie.method na função de classificação


Você pode usar a função Rank() na base R para retornar uma classificação de valores em um vetor.

Esta função usa a seguinte sintaxe básica:

classificação (x, na.último = VERDADEIRO, laços.método = ”média”)

Ouro:

  • x : O vetor que contém os valores a serem classificados
  • na.last : Se TRUE, os valores faltantes são colocados por último. Se for FALSO, os valores ausentes serão colocados primeiro.
  • tie.method : Como lidar com empates (o padrão é “média”)

O argumento Ties.method para a função Rank() especifica como os empates devem ser tratados.

Este argumento aceita as seguintes opções:

  • média : (padrão) atribui a cada item vinculado a classificação média (os itens classificados em 3º e 4º receberiam uma classificação de 3,5)
  • primeiro : Atribui o primeiro elemento vinculado à classificação mais baixa (os elementos classificados na 3ª e 4ª posições receberiam as classificações 3 e 4, respectivamente)
  • último : Atribui o último elemento vinculado à classificação mais baixa (os elementos classificados na 3ª e 4ª posições receberiam as classificações 4 e 3, respectivamente)
  • min : Atribui cada item vinculado à classificação mais baixa (os itens classificados em 3º e 4º receberiam uma classificação de 3)
  • max : atribui a cada item vinculado a classificação mais alta (os itens classificados em 3º e 4º receberiam uma classificação de 4)
  • random : atribui a cada elemento empatado uma classificação aleatória (qualquer um dos elementos empatados na 3ª e 4ª posição pode receber qualquer uma das classificações)

Os exemplos a seguir mostram como usar cada opção na prática com o seguinte quadro de dados em 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

Exemplo 1: Use Rank() com Ties.method=”average”

O código a seguir mostra como criar uma nova coluna que usa Rank() com Ties.method=”average” para atribuir uma classificação a cada jogador com base no valor da coluna de pontos :

 #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

Como os jogadores C e D tiveram o mesmo número de pontos e ficaram nas posições 3 e 4, ambos receberam sua média de classificação: 3,5 .

Exemplo 2: Use Rank() com Ties.method=”first”

O código a seguir mostra como criar uma nova coluna que usa Rank() com Ties.method=”first” para atribuir uma classificação a cada jogador com base no valor da coluna de pontos :

 #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

Como os jogadores C e D tinham o mesmo número de pontos e ocupavam as posições 3 e 4, o primeiro jogador entre estes dois (jogador “C”) recebeu a classificação mais baixa.

Exemplo 3: Use Rank() com Ties.method=”last”

O código a seguir mostra como criar uma nova coluna que usa Rank() com Ties.method=”last” para atribuir uma classificação a cada jogador com base no valor da coluna de pontos :

 #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

Como os jogadores C e D tinham o mesmo número de pontos e ocupavam as posições 3 e 4, o último jogador entre estes dois (jogador “D”) recebeu a classificação mais baixa.

Exemplo 4: Use Rank() com Ties.method=”min”

O código a seguir mostra como criar uma nova coluna que usa Rank() com Ties.method=”min” para atribuir uma classificação a cada jogador com base no valor da coluna de pontos :

 #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

Como os jogadores C e D tinham o mesmo número de pontos e estavam nas posições 3 e 4, ambos os jogadores receberam a classificação mínima: 3 .

Exemplo 5: Use Rank() com Ties.method=”max”

O código a seguir mostra como criar uma nova coluna que usa Rank() com Ties.method=”max” para atribuir uma classificação a cada jogador com base no valor da coluna de pontos :

 #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

Como os jogadores C e D tinham o mesmo número de pontos e estavam nas posições 3 e 4, ambos os jogadores receberam a classificação máxima: 4 .

Exemplo 6: Use Rank() com Ties.method=”random”

O código a seguir mostra como criar uma nova coluna que usa Rank() com Ties.method=”random” para atribuir uma classificação a cada jogador com base no valor da coluna de pontos :

 #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

Como os jogadores C e D tinham o mesmo número de pontos e estavam nas posições 3 e 4, cada jogador recebeu aleatoriamente uma classificação de 3 ou 4.

Observe que quando você usa “random” para tie.method , a classificação atribuída a cada valor pode mudar cada vez que você executa o código.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em R:

Como usar sort(), order() e Rank() em R
Como calcular a classificação percentil em R
Como classificar por grupo usando dplyr

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *