如何在 r 中使用 all() 和 any() 函数(附示例)
R 中的all()和any()函数可用于检查表达式中向量中的所有或某些值是否计算为 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 ,因为假设我们忽略 NA 值,向量中的每个值都小于 10。
示例 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()函数来计算“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
从结果我们可以看出:
- 跳出率栏中的所有值均不小于 10。
- 篮板数栏中至少有一个值小于 10。
- 篮板数一栏中至少有一个 NA 值。
其他资源
以下教程解释了如何在 R 中执行其他常见任务: