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

Aggiungi un commento

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