Come selezionare colonne contenenti una stringa specifica in r


È possibile utilizzare le seguenti funzioni dal pacchetto dplyr in R per selezionare colonne contenenti una stringa specifica:

Metodo 1: seleziona le colonne contenenti una stringa specifica

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

Metodo 2: selezionare le colonne contenenti una delle numerose stringhe

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

Gli esempi seguenti mostrano come utilizzare nella pratica ciascuno di questi metodi con il seguente frame di dati in 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

Esempio 1: seleziona colonne contenenti una stringa specifica

Il codice seguente mostra come utilizzare la funzionematch() per selezionare solo le colonne che contengono la stringa “avs” da qualche parte nel 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

Vengono restituite solo le colonne con “avs” nel nome.

In questo caso “mavs” e “cavs” sono le uniche colonne restituite.

Esempio 2: selezionare colonne contenenti una delle numerose stringhe

Il codice seguente mostra come utilizzare la funzionematch() per selezionare solo le colonne che contengono “avs” o “ets” da qualche parte nel 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

Vengono restituite solo le colonne con “avs” o “ets” nel nome.

Nota che la barra verticale ( | ) è l’operatore ” OR ” in R.

Sentiti libero di concatenare tutti gli operatori “OR” che desideri per selezionare colonne contenenti una delle tante stringhe diverse.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni utilizzando dplyr:

Come selezionare le colonne per nome usando dplyr
Come selezionare le colonne per indice utilizzando dplyr
Come utilizzare select_if con più condizioni in dplyr

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *