Как использовать функции 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *