A: come contare i valori in una colonna con condizione


È possibile utilizzare i seguenti metodi per contare il numero di valori in una colonna di un frame di dati in R con una condizione specifica:

Metodo 1: conta i valori in una colonna con condizione

 nrow(df[df$column1 == ' value1 ', ])

Metodo 2: conta i valori in più colonne con condizioni

 nrow(df[df$column1 == ' value1 ' & df$column2 == ' value2 ', ])

I seguenti esempi mostrano come utilizzare ciascun metodo nella pratica con il seguente frame di dati in R:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 position=c('G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'),
                 points=c(10, 12, 3, 14, 22, 15, 17, 17))

#view data frame
df

  team position points
1 AG 10
2 AG 12
3 AF 3
4 AF 14
5 BG 22
6 BG 15
7 BF 17
8 BF 17

Esempio 1: conta i valori in una colonna con condizione

Il codice seguente mostra come contare il numero di valori nella colonna della squadra in cui il valore è uguale a ” A “:

 #count number of rows where team is equal to 'B'
nrow(df[df$team == ' B ', ])

[1] 4

Possiamo vedere che ci sono 4 valori nella colonna squadra dove il valore è uguale a “B”.

Esempio 2: contare i valori in più colonne con condizioni

Il codice seguente mostra come contare il numero di righe nel frame di dati in cui la colonna della squadra è uguale a “B” e la colonna di posizione è uguale a “F”:

 #count number of rows where team is equal to 'B' and position is equal to 'F'
nrow(df[df$team == ' B ' & df$position == ' F ', ])

[1] 2

Possiamo vedere che ci sono 2 righe nel frame di dati che soddisfano entrambe queste condizioni.

Possiamo usare una sintassi simile per contare il numero di righe che soddisfano il numero desiderato di condizioni.

Ad esempio, il codice seguente mostra come contare il numero di righe che soddisfano tre condizioni:

  • la squadra è uguale a ‘B’
  • la posizione è uguale a ‘G’
  • i punti sono maggiori di 20
 #count rows where team is 'B' and position is 'G' and points > 20
nrow(df[df$team == ' B ' & df$position == ' G ' & df$points > 20 , ])

[1] 1

Possiamo vedere che solo una riga nel frame di dati soddisfa queste tre condizioni.

Risorse addizionali

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

Come contare il numero di righe in R
Come selezionare singole righe in un frame di dati in R

Aggiungi un commento

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