Dplyr: como alterar os níveis dos fatores usando mutate()


Você pode usar a seguinte sintaxe básica em dplyr para alterar os níveis de uma variável de fator usando a função mutate() :

 library (dplyr)

df <- df %>% mutate(team=recode(team,
                                ' H ' = ' Hawks ',
                                ' M ' = ' Mavs ',
                                ' C ' = ' Cavs '))

Esta sintaxe específica faz as seguintes alterações na variável de equipe no quadro de dados:

  • ‘H’ se torna ‘Falcões’
  • ‘M’ se torna ‘Mavs’
  • ‘C’ se torna ‘Cavs’

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: alterar os níveis dos fatores usando mutate()

Suponha que temos o seguinte quadro de dados em R que contém informações sobre vários jogadores de basquete:

 #create data frame
df <- data. frame (team=factor(c('H', 'H', 'M', 'M', 'C', 'C')),
                 dots=c(22, 35, 19, 15, 29, 23))

#view data frame
df

  team points
1:22 a.m.
2:35 a.m.
3 M 19
4 M 15
5 C 29
6 C 23

Podemos usar a seguinte sintaxe com a função mutate() do pacote dplyr para alterar os níveis da variável team :

 library (dplyr)

#change factor levels of team variable
df <- df %>% mutate(team=recode(team,
                                ' H ' = ' Hawks ',
                                ' M ' = ' Mavs ',
                                ' C ' = ' Cavs '))

#view updated data frame
df

   team points
1 Hawks 22
2 Hawks 35
3 Mavs 19
4 Mavs 15
5 Cavs 29
6 Cavs 23

Usando esta sintaxe, conseguimos fazer as seguintes alterações na variável de equipe no quadro de dados:

  • ‘H’ se torna ‘Falcões’
  • ‘M’ se torna ‘Mavs’
  • ‘C’ se torna ‘Cavs’

Podemos verificar se os níveis dos fatores foram alterados usando a função níveis () :

 #display factor levels of team variable
levels(df$team)

[1] “Cavs” “Hawks” “Mavs” 

Observe também que você pode optar por alterar apenas um nível de fator em vez de todos eles.

Por exemplo, podemos usar a seguinte sintaxe para substituir apenas “H” por “Hawks” e deixar os outros níveis de fator inalterados:

 library (dplyr)

#change one factor level of team variable
df <- df %>% mutate(team=recode(team, ' H ' = ' Hawks '))

#view updated data frame
df

   team points
1 Hawks 22
2 Hawks 35
3 M 19
4 M 15
5 C 29
6 C 23

Observe que “H” foi substituído por “Hawks”, mas os outros dois níveis de fator permaneceram inalterados.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns no dplyr:

Como deletar linhas usando dplyr
Como selecionar colunas por índice usando dplyr
Como filtrar linhas contendo uma determinada string usando dplyr

Add a Comment

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