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