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

如何用R按基因分组计算DataFrame中LFC列的中位数?

按基因分组计算LFC中位数的R实现方案

方法一:使用dplyr包(代码简洁直观)

先安装并加载dplyr包(首次使用时执行安装步骤):

# 安装包
install.packages("dplyr")
# 加载包
library(dplyr)

假设你的数据框名为df,包含Gene和LFC两列,执行以下代码分组计算中位数:

result <- df %>%
  group_by(Gene) %>%
  summarize(LFC_median = median(LFC, na.rm = TRUE))
  • group_by(Gene):指定按基因列分组
  • summarize(...):生成每组的统计结果,na.rm = TRUE用于忽略缺失值,避免计算结果返回NA

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

无需额外安装包,直接用基础R函数实现:

result <- aggregate(LFC ~ Gene, data = df, FUN = function(x) median(x, na.rm = TRUE))
# 重命名结果列(可选)
colnames(result) <- c("Gene", "LFC_median")

关键注意事项

  • 先检查LFC列的数据类型:执行class(df$LFC),若返回character,需先转为数值型:df$LFC <- as.numeric(df$LFC)
  • 若数据存在缺失值,必须保留na.rm = TRUE参数,否则中位数计算会出错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 16:40:53