Come sottoimpostare un frame di dati tramite un elenco di valori in r


È possibile utilizzare uno dei seguenti metodi per sottodefinire un frame di dati tramite un elenco di valori in R:

Metodo 1: utilizzare Base R

 df_new <- df[df$my_column %in% vals,]

Metodo 2: usa dplyr

 library (dplyr)

df_new <- filter(df, my_column %in% vals)

Metodo 3: utilizzare data.table

 library (data.table)

df_new <- setDT(df, key=' my_column ')[J(vals)]

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 (team=c('A', 'B', 'B', 'B', 'C', 'C', 'C', 'D'),
                 points=c(12, 22, 35, 34, 20, 28, 30, 18),
                 assists=c(4, 10, 11, 12, 12, 8, 6, 10))

#view data frame
df

  team points assists
1 to 12 4
2 B 22 10
3 B 35 11
4 B 34 12
5 C 20 12
6 C 28 8
7 C 30 6
8 D 18 10

Metodo 1: sottoinsieme del frame di dati mediante elenco di valori in R base

Il codice seguente mostra come sottoimpostare il frame di dati in modo che contenga solo righe con un valore “A” o “C” nella colonna del team :

 #define values to subset by
vals <- c(' A ', ' C ')

#subset data frame to only contain rows where team is 'A' or 'C'
df_new <- df[df$team %in% vals,]

#view results
df_new

  team points assists
1 to 12 4
5 C 20 12
6 C 28 8
7 C 30 6

Il frame di dati risultante contiene solo righe che hanno un valore “A” o “C” nella colonna Team .

Tieni presente che in questo esempio abbiamo utilizzato le funzioni R di base, quindi non abbiamo dovuto caricare pacchetti aggiuntivi.

Metodo 2: sottoinsieme di dataframe per elenco di valori in dplyr

Il codice seguente mostra come sottoimpostare il frame di dati per contenere solo righe con un valore “A” o “C” nella colonna team utilizzando la funzione filter() dal pacchetto dplyr :

 library (dplyr)

#define values to subset by
vals <- c(' A ', ' C ')

#subset data frame to only contain rows where team is 'A' or 'C'
df_new <- filter(df, team %in% vals)

#view results
df_new

  team points assists
1 to 12 4
5 C 20 12
6 C 28 8
7 C 30 6

Il frame di dati risultante contiene solo righe che hanno un valore “A” o “C” nella colonna Team .

Metodo 3: sottoimposta il dataframe in base all’elenco di valori in data.table

Il codice seguente mostra come sottoimpostare il frame di dati per contenere solo righe con un valore “A” o “C” nella colonna team utilizzando le funzioni nel pacchetto data.table :

 library (data.table)

#define values to subset by
vals <- c(' A ', ' C ')

#subset data frame to only contain rows where team is 'A' or 'C'
df_new <- setDT(df, key=' team ')[J(vals)]

#view results
df_new

   team points assists
1: A 12 4
2: C 20 12
3: C 28 8
4: C 30 6

Il frame di dati risultante contiene solo righe che hanno un valore “A” o “C” nella colonna Team .

Correlato: Come utilizzare l’operatore %in% in R (con esempi)

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in R:

Come sottoimpostare un frame di dati in base ai livelli di fattore in R
Come sottodefinire in base a un intervallo di date in R
Come tracciare un sottoinsieme di un frame di dati in R

Aggiungi un commento

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