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

如何将Vec2中大于600的数值存入新向量而非输出布尔值?

解决方法

你的代码里Vec2 > 600确实只会返回一个布尔向量,标记每个元素是否满足条件。要提取对应的数值,直接用这个布尔向量作为索引去筛选原向量即可:

set.seed(75)
Vec2 <- sample(0:999, size = 100)

# 提取所有大于600的数值到va中
va <- Vec2[Vec2 > 600]
print(va)

原理说明

R中布尔向量可以直接用作向量的索引:当你把Vec2 > 600放到Vec2[]的方括号里时,R会保留所有对应位置为TRUE的元素,也就是你要的大于600的数值。

另一种方法(使用subset函数)

你也可以用subset()函数来实现同样的效果,语法更直观:

va <- subset(Vec2, Vec2 > 600)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 17:15:40