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