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

R语言提取满足条件的首行数据:获取深度首次大于0.61m对应的时间

R提取首次满足阈值条件对应时间的简单方法

核心实现思路

通过匹配第一个满足「深度大于0.61m」条件的行索引,直接提取对应时间值,无需复杂循环或第三方依赖,运行效率高,适合各类数据规模。

方法1:基础R实现(无任何依赖,推荐)

直接用which()函数定位符合条件的行位置,取第一个位置的时间值即可:

# 示例数据
rating_curve = data.frame(time_h = c(0.01, 0.02, 0.03, 0.04, 0.05, 0.06),
                      depth_m = c(0, 0.2, 0.3, 0.5, 0.7, 0.62))

# 核心代码,仅需一行
first_time <- rating_curve$time_h[which(rating_curve$depth_m > 0.61)[1]]

运行后输出first_time即可得到预期结果:

[1] 0.05

如果需要处理无符合条件的场景,可加判断逻辑:判断length(which(rating_curve$depth_m > 0.61))是否大于0即可。

方法2:dplyr语法实现(适合tidyverse生态用户)

如果日常使用tidyverse系列工具,也可以用管道流写法实现:

library(dplyr)

first_time <- rating_curve %>%
  filter(depth_m > 0.61) %>%
  slice(1) %>%
  pull(time_h)

内容的提问来源于stack exchange,提问作者Vinicius B. de S. Moreira。

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 21:27:04