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

R语言中如何按指定ID排除对应行后计算数值列的平均值

R 按指定ID排除行计算均值的实现方法

基础R实现(无需额外安装包)

核心使用%in%匹配运算符直接筛选符合条件的行,完全不用依赖行号:

# 定义需要排除的ID向量,可任意新增要排除的ID值
exclude_ids <- c("slH", "54K")
# 筛选ID不在排除列表内的行计算均值
mean(mat$number[!mat$id %in% exclude_ids])

运行后得到结果为34.18074,和手动删除对应行计算的结果完全一致。

tidyverse/dplyr 实现(适合数据处理流水线场景)

如果你习惯使用dplyr做数据处理,可以用filter逻辑实现相同效果:

library(dplyr)
exclude_ids <- c("slH", "54K")
mat %>%
  # 保留ID不在排除列表内的行
  filter(!id %in% exclude_ids) %>%
  # 计算均值
  summarise(mean_number = mean(number))

注意事项

如果你的ID列是因子(factor)类型,建议先转为字符型再做匹配,避免因子水平不一致导致匹配失效:

mat$id <- as.character(mat$id)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 22:09:02