Hoe de functies all() en any() in r te gebruiken (met voorbeelden)
De functies all() en any() in R kunnen worden gebruikt om te controleren of alle of sommige waarden in een vector resulteren in TRUE voor een expressie.
Deze functies gebruiken de volgende syntaxis:
#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)
De volgende voorbeelden laten zien hoe u elke functie in de praktijk kunt gebruiken.
Voorbeeld 1: Gebruik all() en any() met Vector
We kunnen de volgende functies all() en any() gebruiken om te controleren of sommige of alle waarden in een vector kleiner zijn dan 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
De functie all() evalueert naar FALSE omdat alle waarden in de vector niet kleiner zijn dan 10.
De functie any() resulteert in TRUE omdat ten minste één waarde in de vector kleiner is dan 10.
Voorbeeld 2: Gebruik all() met NA-waarden
Als we de functie all() gebruiken met een vector die NA-waarden heeft, kunnen we als resultaat NA ontvangen:
#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
Om dit te voorkomen, moeten we na.rm=TRUE specificeren om eerst NA-waarden uit de vector te verwijderen voordat we controleren of alle waarden aan een voorwaarde voldoen:
#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
De functie all() evalueert nu naar TRUE omdat elke waarde in de vector kleiner is dan 10, ervan uitgaande dat we NA-waarden negeren.
Voorbeeld 3: Gebruik all() en any() met dataframekolommen
We kunnen ook de functies all() en any() gebruiken om de expressies van de dataframekolommen te evalueren.
Stel dat we bijvoorbeeld het volgende dataframe in R hebben:
#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
We kunnen de functies all() en any() gebruiken om verschillende uitdrukkingen te evalueren voor de waarden in de kolom ‘bounces’:
#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
Uit het resultaat kunnen we zien:
- Alle waarden zijn niet minder dan 10 in de bouncekolom.
- Ten minste één waarde is kleiner dan 10 in de reboundkolom.
- Er staat ten minste één NA-waarde in de rebounds-kolom.
Gerelateerd: Is.na gebruiken in R (met voorbeelden)
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in R kunt uitvoeren:
Hoe u een kolom aan een dataframe toevoegt in R
Hoe u een lege kolom aan een dataframe toevoegt in R
Hoe een dataframe op kolom te sorteren in R