A: come selezionare le righe in un frame di dati in base ai valori del vettore
È possibile utilizzare uno dei seguenti metodi per selezionare le righe da un frame di dati in R in base ai valori di un vettore:
Metodo 1: utilizzare Base R
new_df <- df[df$column_name %in% values_vector, ]
Metodo 2: utilizzare il pacchetto dplyr
library (dplyr)
new_df <- df %>% filter(column_name %in% values_vector)
I seguenti esempi mostrano come utilizzare ciascun metodo nella pratica con il seguente frame di dati in R:
#create data frame
df <- data. frame (division=c('West', 'West', 'East', 'East', 'North'),
points=c(120, 100, 104, 98, 105),
assists=c(30, 35, 64, 28, 23))
#view data frame
df
assists points division
1 West 120 30
2 West 100 35
3 East 104 64
4 East 98 28
5 North 105 23
Esempio 1: utilizzare Base R per selezionare le righe in base ai valori del vettore
Possiamo utilizzare il codice seguente per selezionare solo le righe del frame di dati originale in cui il valore nella colonna di divisione è uguale a “Ovest” o “Nord”.
#define values of interest
my_values <- c(' West ', ' North ')
#select rows that contain 'West' or 'North' in division column
new_df <- df[df$division %in% my_values, ]
#view results
new_df
assists points division
1 West 120 30
2 West 100 35
5 North 105 23
Il nuovo frame di dati contiene solo righe il cui valore nella colonna di divisione è uguale a “Ovest” o “Nord”.
Esempio 2: utilizzare dplyr per selezionare le righe in base ai valori vettoriali
Possiamo anche usare la funzione filter() del pacchetto dplyr in R per selezionare solo le righe del frame di dati originale in cui il valore nella colonna di divisione è uguale a “Ovest” o “Nord”.
library (dplyr)
#define values of interest
my_values <- c(' West ', ' North ')
#select rows that contain 'West' or 'North' in division column
new_df <- df %>% filter(division %in% my_values)
#view results
new_df
assists points division
1 West 120 30
2 West 100 35
3 North 105 23
Il nuovo frame di dati contiene solo righe il cui valore nella colonna di divisione è uguale a “Ovest” o “Nord”.
Nota : i metodi base R e dplyr producono gli stessi risultati. Tuttavia, il metodo dplyr tenderà ad essere più veloce quando si lavora con frame di dati estremamente grandi.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in R:
Come selezionare linee casuali in R usando dplyr
Come selezionare le righe in base alla condizione in R
Come selezionare le righe in cui il valore appare in qualsiasi colonna in R