Como selecionar colunas contendo uma string específica em r


Você pode usar as seguintes funções do pacote dplyr em R para selecionar colunas contendo uma string específica:

Método 1: selecione colunas contendo uma string específica

 df %>%
  select(matches(" string1 "))

Método 2: selecione colunas contendo uma das várias strings

 df %>%
  select(matches(" string1|string2|string3 "))

Os exemplos a seguir mostram como usar cada um desses métodos na prática com o seguinte quadro de dados em R:

 #create data frame
df <- data. frame (mavs=c(12, 10, 14, 19, 22, 25, 29),
                 cavs=c(22, 41, 14, 15, 15, 19, 22),
                 hornets=c(8, 8, 12, 14, 15, 13, 12),
                 spurs=c(10, 12, 12, 16, 22, 28, 30),
                 nets=c(9, 7, 10, 22, 28, 23, 25))

#view data frame
df

  mavs cavs hornets spurs nets
1 12 22 8 10 9
2 10 41 8 12 7
3 14 14 12 12 10
4 19 15 14 16 22
5 22 15 15 22 28
6 25 19 13 28 23
7 29 22 12 30 25

Exemplo 1: Selecione colunas contendo uma string específica

O código a seguir mostra como usar a função matches() para selecionar apenas colunas que contenham a string “avs” em algum lugar de seu nome:

 library (dplyr)

#select all columns that contain "avs" in the name
df %>%
  select(matches(" avs "))

  mavs cavs
1 12 22
2 10 41
3 14 14
4 19 15
5 22 15
6 25 19
7 29 22

Somente colunas com “avs” no nome serão retornadas.

Neste caso, “mavs” e “cavs” são as únicas colunas retornadas.

Exemplo 2: Selecione colunas contendo uma das várias strings

O código a seguir mostra como usar a função matches() para selecionar apenas colunas que contenham “avs” ou “ets” em algum lugar do nome:

 library (dplyr)

#select all columns that contain "avs" or "ets" in the name
df %>%
  select(matches(" avs|ets "))

  mavs cavs hornets nets
1 12 22 8 9
2 10 41 8 7
3 14 14 12 10
4 19 15 14 22
5 22 15 15 28
6 25 19 13 23
7 29 22 12 25

Somente colunas com “avs” ou “ets” no nome serão retornadas.

Observe que a barra vertical ( | ) é o operador ” OR ” em R.

Sinta-se à vontade para encadear quantos desses operadores “OR” desejar para selecionar colunas contendo uma das muitas strings diferentes.

Recursos adicionais

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

Como selecionar colunas por nome usando dplyr
Como selecionar colunas por índice usando dplyr
Como usar select_if com múltiplas condições no dplyr

Add a Comment

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