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

如何在R语言中使用逻辑运算符筛选向量中大于20的数值?

如何在R中筛选向量里大于20的数值

嘿,我来帮你搞定这个问题!你之前的代码time_displ[1:10] > 20确实只会生成一个逻辑向量——它逐个检查向量里的每个元素是否大于20,返回对应位置的TRUE或FALSE,但这只是筛选的第一步,还需要用这个逻辑向量去提取原向量里的目标元素。

方法一:分步实现

  1. 先生成逻辑判断向量(其实不用写[1:10],因为你的向量本身就是10个元素,直接判断就行):

    time_displ <- c(17, 16, 20, 24, 22, 15, 21, 15, 17, 22)
    twentyuplogical <- time_displ > 20
    

    这时候twentyuplogical就是你得到的FALSE FALSE FALSE TRUE TRUE FALSE TRUE FALSE FALSE TRUE这个逻辑向量。

  2. 把这个逻辑向量放到原向量的索引位置里,就能筛选出所有为TRUE对应的元素:

    twenty_up_subset <- time_displ[twentyuplogical]
    

方法二:一步到位(更简洁)

你也可以不用单独保存逻辑向量,直接把判断条件写在索引里:

time_displ <- c(17, 16, 20, 24, 22, 15, 21, 15, 17, 22)
twenty_up_subset <- time_displ[time_displ > 20]

运行后,twenty_up_subset的结果就是[1] 24 22 21 22,正好是所有大于20的数值~

内容的提问来源于stack exchange,提问作者Augusto D'Arruda

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:03:10