You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何比较数值型与布尔型向量?并保留布尔型TRUE对应的数值

用布尔型向量筛选数值型向量元素的方法

在R语言里,用布尔向量筛选数值向量的元素其实是非常直观且常用的操作,我来给你详细说明:

核心逻辑

当你有两个长度完全相同的向量时,布尔型向量可以直接作为「索引」来提取数值型向量的元素:布尔向量中TRUE对应的位置,数值向量的元素会被保留;FALSE对应的位置则会被过滤掉。

具体操作示例

先定义你提到的两个向量:

# 数值型向量
num_vec <- c(17, 18, 19)
# 布尔型向量
bool_vec <- c(TRUE, TRUE, FALSE)

接下来直接用布尔向量作为索引,就能得到你想要的结果:

# 筛选操作
filtered_result <- num_vec[bool_vec]
# 查看结果
filtered_result

运行后输出就是:

[1] 17 18

额外小技巧

如果之后需要保留布尔向量中FALSE对应的元素,只需要对布尔向量取反(用!符号)即可:

# 保留FALSE对应的元素
num_vec[!bool_vec]

输出结果为:

[1] 19

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 09:04:22