具有不同值的相似行的平均值并将它们合二为一

Average of similar rows with different values and make them one

这是我的小数据框

head(ATAC_fc_plot)
          ENSEMBL    Peak log2FoldChange
1 ENSG00000230368   Peak4       1.565676
2 ENSG00000230368   Peak6       2.537395
3 ENSG00000230368   Peak7      -1.543704
4 ENSG00000230368   Peak8      -3.498416
5 ENSG00000067606 Peak112       1.982703
6 ENSG00000067606 Peak113       2.035416

由于不同程度的丰富,我重复了这些行,所以我必须对每一行进行最终平均。例如,我有 4 个“ENSG00000230368”观察值,我想将其与平均值排成一行。

我想看到的输出是这个“ENSG00000230368”和“ENSG00000067606”。中间一列是我的参考,就像每个基因来自哪个峰。因此,如果它有问题,也可以将其删除。

非常感谢您的帮助。

您可以使用 dplyr 包来完成:

library(dplyr)

ATAC_fc_plot %>%
  group_by(ENSEMBL) %>%
  summarize(average = mean(log2FoldChange, na.rm = TRUE))