Come creare sottoinsiemi di un frame di dati in r in base a più condizioni


È possibile utilizzare i seguenti metodi per sottodefinire un frame di dati in base a più condizioni in R:

Metodo 1: sottoimpostare il frame di dati utilizzando la logica “OR”.

 df_sub <- subset(df, team == ' A ' | points < 20 )

Questo particolare esempio sottoinsiemerà il frame di dati per le righe in cui la colonna della squadra è uguale ad “A” o la colonna dei punti è inferiore a 20.

Metodo 2: sottoimpostare il frame di dati utilizzando la logica “AND”.

 df_sub <- subset(df, team == ' A ' & points < 20 )

Questo particolare esempio sottoinsiemerà il frame di dati per le righe in cui la colonna della squadra è uguale ad “A” e la colonna dei punti è inferiore a 20.

Questo tutorial spiega come utilizzare ciascun metodo nella pratica con il seguente frame di dati:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'),
                 position=c('Guard', 'Guard', 'Forward',
                            'Guard', 'Forward', 'Forward'),
                 dots=c(22, 25, 19, 22, 12, 35))

#view data frame
df

  team position points
1 A Guard 22
2 A Guard 25
3 A Forward 19
4 B Guard 22
5 B Forward 12
6 B Forward 35

Esempio 1: sottoinsieme del frame di dati utilizzando la logica “OR”.

Il codice seguente mostra come sottoimpostare il frame di dati per le righe in cui la colonna della squadra è uguale ad “A” o la colonna dei punti è inferiore a 20:

 #subset data frame where team is 'A' or points is less than 20
df_sub <- subset(df, team == ' A ' | points < 20 )

#view subset
df_sub

  team position points
1 A Guard 22
2 A Guard 25
3 A Forward 19
5 B Forward 12

Ognuna delle righe nel sottoinsieme ha un valore “A” nella colonna della squadra o un valore nella colonna dei punti inferiore a 20.

Nota : il | il simbolo rappresenta “OR” in R.

In questo esempio, abbiamo incluso solo un singolo simbolo “OR” nella funzione subset() ma potremmo includerne quanti vogliamo nel sottoinsieme in base a un numero ancora maggiore di condizioni.

Esempio 2: sottoinsieme del frame di dati utilizzando la logica “AND”.

Il codice seguente mostra come sottoimpostare il frame di dati per le righe in cui la colonna della squadra è uguale ad “A” e la colonna dei punti è inferiore a 20:

 #subset data frame where team is 'A' and points is less than 20
df_sub <- subset(df, team == ' A ' & points < 20 )

#view subset
df_sub

  team position points
3 A Forward 19

Tieni presente che il sottoinsieme risultante contiene solo una riga.

Infatti, solo una riga ha un valore “A” nella colonna delle squadre e un valore nella colonna dei punti inferiore a 20.

Nota : il simbolo & rappresenta “AND” in R.

In questo esempio, abbiamo incluso solo un singolo simbolo “AND” nella funzione subset() ma potremmo includerne quanti vogliamo nel sottoinsieme in base a un numero ancora maggiore di condizioni.

Risorse addizionali

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

Come selezionare singole righe in un frame di dati in R
Come selezionare le righe con valori NA in R
Come selezionare le righe in base ai valori vettoriali in R

Aggiungi un commento

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