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

R语言中如何根据向量元素的相近值分组并计算分组均值?

R实现相邻相近值分组替换为组均值

直接用基础R函数即可实现需求,无需加载第三方包,核心逻辑是通过相邻差值标记分组边界,再按组计算均值完成替换。

# 示例输入向量
x <- c(1.001, 1.002, 1.003, 2.0)
# 分组阈值:相邻差值小于该值归为同组
threshold <- 0.1

# 生成分组标签:相邻差值≥阈值时拆分新组
group_id <- cumsum(c(1, abs(diff(x)) >= threshold))
# 按组计算均值,返回与原向量等长的替换结果
result <- ave(x, group_id, FUN = mean)

运行后得到的result和预期输出完全一致:

> result
[1] 1.002 1.002 1.002 2.000

说明

  • 若输入向量未按升序排列,需要先执行x <- sort(x)再运行上述代码,否则相邻值判断会出错
  • 可直接修改threshold的取值适配不同的分组差值要求,其余代码无需调整
  • 该方法对任意长度的数值型向量都适用,单组内元素数量不影响计算逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 02:18:14