Come utilizzare le funzioni all() e any() in r (con esempi)


Le funzioni all() e any() in R possono essere utilizzate per verificare se tutti o alcuni valori in un vettore valgono TRUE per un’espressione.

Queste funzioni utilizzano la seguente sintassi:

 #check if all values in x are less than 10
all(x < 10)

#check if any values in x are less than 10
any(x < 10)

Gli esempi seguenti mostrano come utilizzare nella pratica ciascuna funzione.

Esempio 1: utilizzare all() e any() con Vector

Possiamo utilizzare le seguenti funzioni all() e any() per verificare se alcuni o tutti i valori in un vettore sono inferiori a 10:

 #define vector of data values
data <- c(3, 4, 4, 8, 12, 15)

#check if all values are less than 10
all(data < 10)

[1] FALSE

#check if any values are less than 10
any(data < 10)

[1] TRUE

La funzione all() restituisce FALSE perché tutti i valori nel vettore non sono inferiori a 10.

La funzione any() restituisce TRUE perché almeno un valore nel vettore è inferiore a 10.

Esempio 2: utilizzare all() con valori NA

Se utilizziamo la funzione all() con un vettore che ha valori NA, possiamo ricevere NA come risultato:

 #define vector of data values with some NA values
data <- c(3, 4, 4, 8, NA, NA)

#check if all values are less than 10
all(data < 10)

[1] NA

Per evitare ciò, dobbiamo specificare na.rm=TRUE per rimuovere i valori NA dal vettore prima di verificare se tutti i valori soddisfano una condizione:

 #define vector of data values with some NA values
data <- c(3, 4, 4, 8, NA, NA)

#check if all values are less than 10 (and ignore NA values)
all(data < 10, na. rm = TRUE )

[1] TRUE

La funzione all() ora restituisce TRUE perché ogni valore nel vettore è inferiore a 10, presupponendo di ignorare i valori NA.

Esempio 3: utilizzare all() e any() con colonne di frame di dati

Possiamo anche usare le funzioni all() e any() per valutare le espressioni delle colonne del data frame.

Ad esempio, supponiamo di avere il seguente frame di dati in R:

 #define data frame
df <- data. frame (points=c(30, 22, 19, 20, 14, NA),
                 assists=c(7, 8, 13, 13, 10, 6),
                 rebounds=c(8, 12, NA, NA, 5, 8))

#view data frame
df

  points assists rebounds
1 30 7 8
2 22 8 12
3 19 13 NA
4 20 13 NA
5 14 10 5
6 NA 6 8

Possiamo utilizzare le funzioni all() e any() per valutare diverse espressioni per i valori nella colonna “rimbalzi”:

 #check if all values are less than 10 in rebounds column
all(df$rebounds < 10, na. rm = TRUE )

[1] FALSE

#check if any values are less than 10 in rebounds column
any(df$rebounds < 10, na. rm = TRUE )

[1] TRUE

#check if there are any NA values in rebounds column
any(is. na (df$rebounds))

[1] TRUE

Dal risultato possiamo vedere:

  • Tutti i valori non sono inferiori a 10 nella colonna dei rimbalzi.
  • Almeno un valore è inferiore a 10 nella colonna dei rimbalzi.
  • C’è almeno un valore NA nella colonna dei rimbalzi.

Correlati: Come utilizzare is.na in R (con esempi)

Risorse addizionali

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

Come aggiungere una colonna a un frame di dati in R
Come aggiungere una colonna vuota a un frame di dati in R
Come ordinare un frame di dati per colonna in R

Aggiungi un commento

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