You need to enable JavaScript to run this app. R语言中扁平化布尔向量,实现全元素为TRUE时返回单布尔值的方法
优惠活动
大模型
产品
解决方案
定价
更多

R语言中扁平化布尔向量,实现全元素为TRUE时返回单布尔值的方法

判断布尔向量是否全为TRUE的R现成实现

base R 自带原生函数all()可直接满足需求,无需手写for循环,计算效率远高于手动循环实现。

匹配示例场景的实际用法

你提到的两个测试场景,直接将grepl()的输出结果传入all()即可得到目标单布尔值输出:

# 场景1:所有元素匹配ABC
all(grepl("ABC", c("ABC","ABC","123ABC")))
# 输出: [1] TRUE

# 场景2:存在不匹配ABC的元素
all(grepl("ABC", c("ABC","ABC","123ABA")))
# 输出: [1] FALSE

核心特性说明

  • 判断逻辑完全匹配需求:仅当输入的布尔向量内所有元素均为TRUE时,函数返回单个标量TRUE;只要向量内存在至少一个FALSE,就返回FALSE
  • 性能优势:all()为底层C语言实现的向量化函数,没有R层面循环的语法开销,哪怕是百万级长度的向量也能瞬时完成计算,运行速度比手写for循环高2~3个数量级
  • 灵活配置:如果待判断的布尔向量内存在缺失值NA,默认all()会返回NA;可通过na.rm = TRUE参数跳过缺失值,仅针对有效非缺失值做全量判断,例如:
    all(c(TRUE, TRUE, NA), na.rm = TRUE)
    # 输出: [1] TRUE
    

内容的提问来源于stack exchange,提问作者cineS.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.27 02:45:01