You need to enable JavaScript to run this app. R语言判断相邻行分位数区间重叠 检验斜率变化显著性
优惠活动
大模型
产品
解决方案
定价
更多

R语言判断相邻行分位数区间重叠 检验斜率变化显著性

实现方法

两个闭区间 [a1, a2] 和 [b1, b2] 存在重叠的判断逻辑为 !(a2 < b1 | a1 > b2),直接套用该逻辑计算相邻行的区间重叠状态即可,下面给出两种常用实现方案:


方案1:tidyverse 简洁实现(推荐)

代码可读性高,适合数据处理流程中直接嵌入:

library(dplyr)
# 构造示例数据
df <- tribble(
  ~mean, ~`q2.5`, ~`q97.5`,
  10, 8, 12,
  15, 11, 16,
  21, 19, 22,
  34, 25, 35,
  56, 52, 57
)
# 计算重叠标识列
df <- df %>%
  mutate(
    pre_q25 = lag(`q2.5`),
    pre_q975 = lag(`q97.5`),
    overlap = case_when(
      is.na(pre_q25) ~ NA,
      !(`q97.5` < pre_q25 | `q2.5` > pre_q975) ~ TRUE,
      .default = FALSE
    )
  ) %>%
  select(-pre_q25, -pre_q975)

方案2:纯基础R实现

无需加载任何第三方包,适合轻量计算场景:

# 构造示例数据
df <- data.frame(
  mean = c(10,15,21,34,56),
  q2.5 = c(8,11,19,25,52),
  q97.5 = c(12,16,22,35,57)
)
# 计算重叠标识列
n <- nrow(df)
df$overlap <- c(NA, !(df$q97.5[-1] < df$q2.5[-n] | df$q2.5[-1] > df$q97.5[-n]))

两种方案运行后输出结果和你给出的预期完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 02:18:00