Como reorganizar colunas em r


Muitas vezes você pode querer reorganizar as colunas em um quadro de dados em R.

Felizmente, isso é fácil de fazer usando a função select() do pacote dplyr .

 library (dplyr)

Este tutorial mostra vários exemplos de como usar esta função na prática usando o seguinte data frame:

 #create data frame
df <- data.frame(player = c('a', 'b', 'c', 'd', 'e'),
                 position = c('G', 'F', 'F', 'G', 'G'),
                 points = c(12, 15, 19, 22, 32),
                 rebounds = c(5, 7, 7, 12, 11))

#view data frame
df

  player position points rebounds
1 to G 12 5
2 b F 15 7
3 c F 19 7
4 d G 22 12
5th G 32 11

Exemplo 1: Mover uma coluna para a primeira posição

O código a seguir mostra como mover uma coluna específica em um quadro de dados para a primeira posição:

 #move column 'points' to first position
df %>% select(points, everything() )

  points player position rebounds
1 12 a G 5
2 15 b F 7
3 19 c F 7
4 22 d G 12
5 32nd G 11

Este código diz ao dplyr para selecionar a coluna de pontos primeiro e depois incluir todas as outras colunas após os pontos.

Exemplo 2: Mover uma coluna para a última posição

O código a seguir mostra como mover uma coluna específica em um quadro de dados para a última posição:

 #move column 'points' to last position
df %>% select(-points, points)

  player position rebounds points
1 to G 5 12
2 b F 7 15
3c F 7 19
4 d G 12 22
5th G 11 32

Este código diz ao dplyr para selecionar todas as colunas, exceto a coluna de pontos, e então selecionar a coluna de pontos novamente. Isto tem o efeito de mover a coluna de pontos para a última posição no quadro de dados.

Exemplo 3: reorganizar várias colunas

O código a seguir mostra como reorganizar várias colunas de uma vez em uma ordem específica:

 #change all column names to uppercase
df %>% select(rebounds, position, points, player)

  rebounds position points player
1 5 G 12 a
2 7 F 15 b
3 7 F 19 c
4 12 G 22 d
5 11 G 32 e

Exemplo 4: Reorganizar colunas em ordem alfabética

O código a seguir mostra como classificar as colunas em ordem alfabética:

 #order columns alphabetically
df %>% select(order(colnames(.)))

  player points position rebounds
1 to 12 G 5
2 b 15 F 7
3 c 19 F 7
4 d 22 G 12
5 th 32 G 11

Exemplo 5: ordem inversa das colunas

O código a seguir mostra como inverter a ordem das colunas em um quadro de dados:

 #reverse column order
df %>% select(rebounds:player, everything() )

  rebound points position player
1 5 12 G a
2 7 15 F b
3 7 19 F c
4 12 22 L d
5 11 32 G e

Nota : Você pode encontrar a documentação completa da função select() aqui .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras operações comuns no dplyr:

Como selecionar colunas por índice usando dplyr
Como selecionar colunas por nome usando dplyr
Como adicionar colunas ao quadro de dados usando dplyr

Add a Comment

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