Как использовать функции all() и any() в r (с примерами)
Функции all() и Any() в R можно использовать для проверки того, все или некоторые значения в векторе оцениваются как TRUE для выражения.
Эти функции используют следующий синтаксис:
#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)
Следующие примеры показывают, как использовать каждую функцию на практике.
Пример 1. Используйте all() и Any() с Vector
Мы можем использовать следующие функции all() и Any() , чтобы проверить, меньше ли некоторые или все значения в векторе 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
Функция all() возвращает значение FALSE , поскольку все значения в векторе не меньше 10.
Функция Any() возвращает TRUE , поскольку хотя бы одно значение в векторе меньше 10.
Пример 2. Использование all() со значениями NA
Если мы используем функцию all() с вектором, имеющим значения NA, в результате мы можем получить NA :
#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
Чтобы этого избежать, нам нужно указать na.rm=TRUE , чтобы сначала удалить значения NA из вектора, прежде чем проверять, все ли значения соответствуют условию:
#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
Функция all() теперь возвращает TRUE , поскольку каждое значение в векторе меньше 10, если мы игнорируем значения NA.
Пример 3. Использование all() и Any() со столбцами фрейма данных.
Мы также можем использовать функции all() и Any() для оценки выражений столбцов фрейма данных.
Например, предположим, что у нас есть следующий фрейм данных в 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
Мы можем использовать функции all() и Any() для оценки различных выражений для значений в столбце «отскоки»:
#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
По результату мы видим:
- В столбце отказов все значения не меньше 10.
- По крайней мере одно значение меньше 10 в столбце подборов.
- В столбце подборов есть хотя бы одно значение NA.
Связанный: Как использовать is.na в R (с примерами)
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в R:
Как добавить столбец во фрейм данных в R
Как добавить пустой столбец во фрейм данных в R
Как отсортировать фрейм данных по столбцу в R