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

R语言按列均值去除基因表达数据框中的重复行

解决重复基因行的均值合并问题

针对你手里的基因表达数据框,要按基因分组、计算每组内各样本列的均值并保留唯一行,这里有两种简单高效的实现方式:

方法一:使用dplyr(tidyverse风格)

dplyr的语法更直观,适合处理这类分组聚合的需求:

首先先加载dplyr包(如果没安装先运行install.packages("dplyr")):

library(dplyr)

然后基于你的数据框df,按GENES分组后,对所有数值列计算均值:

df_cleaned <- df %>%
  group_by(GENES) %>%
  summarise(across(everything(), mean))

运行后你会得到去重后的结果,比如基因A1BG的Group1值就是你手动计算的mean(-0.9092227, -1.48751, -2.79559765),结果完全一致。

方法二:使用Base R的aggregate函数

如果你不想额外加载包,base R的aggregate函数也能轻松搞定:

df_cleaned <- aggregate(. ~ GENES, data = df, FUN = mean)

这个公式里的.代表除了分组列(GENES)之外的所有列,FUN=mean指定用均值来聚合重复行。

验证结果

比如我们手动计算A1BG的Group1均值:

mean(-0.9092227, -1.48751, -2.79559765)
# 结果是 -1.730777

查看处理后的df_cleaned里A1BG的Group1值,会和这个结果完全匹配,其他列的均值也都正确计算。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:05:31