A: come usare grepl con più modelli
È possibile utilizzare la seguente sintassi di base con la funzione grepl() in R per filtrare le righe in un frame di dati contenente uno dei diversi modelli di stringa in una colonna specifica:
library (dplyr) new_df <- filter(df, grepl(paste(my_patterns, collapse=' | '), my_column))
Questa particolare sintassi filtra il frame di dati per le righe in cui il valore della colonna chiamata my_column contiene uno dei modelli di stringa nel vettore chiamato my_patterns .
L’esempio seguente mostra come utilizzare questa sintassi nella pratica.
Esempio: come utilizzare grepl() con più modelli in R
Supponiamo di avere il seguente frame di dati in R che contiene informazioni su varie squadre di basket:
#create data frame df <- data. frame (team=c('Mavs', 'Hawks', 'Nets', 'Heat', 'Cavs'), points=c(104, 115, 124, 120, 112), status=c('Bad', 'Good', 'Excellent', 'Great', 'Bad')) #view data frame df team points status 1 Mavs 104 Bad 2 Hawks 115 Good 3 Nets 124 Excellent 4 Heat 120 Great 5 Cavs 112 Bad
Supponiamo di voler filtrare il data frame per contenere solo le righe in cui la stringa della colonna status contiene uno dei seguenti modelli di stringa:
- ‘BENE’
- ‘Grigio’
- ‘Ex’
Possiamo usare la seguente sintassi con la funzione grepl() per fare ciò:
library (dplyr) #define patterns to search for my_patterns <- c(' Good ', ' Gre ', ' Ex ') #filter for rows where status column contains one of several strings new_df <- filter(df, grepl(paste(my_patterns, collapse=' | '), status)) #view results new_df team points status 1 Hawks 115 Good 2 Nets 124 Excellent 3 Heat 120 Great
Tieni presente che il frame di dati è stato filtrato per contenere solo le righe in cui la stringa nella colonna status contiene uno dei tre modelli specificati.
Tieni presente che utilizzando la funzione Paste() con l’argomento Collapses=’|’ in realtà abbiamo cercato la stringa “Good|Gre|Ex” nella colonna status .
Dal | Il simbolo in R significa “OR”, siamo riusciti a trovare le righe contenenti “Buono” o Gre” o “Ex” nella colonna di stato .
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in R:
Come mutare una variabile se la colonna contiene una stringa usando dplyr
Come rimuovere il primo carattere dalle stringhe usando dplyr
Come sostituire una stringa in una colonna usando dplyr