首页 > 解决方案 > 聚合在这里做什么?

问题描述

我有一个带有以下行的 R 脚本:

KSData.dataset.abbrev = aggregate(log2FC ~ Kinase.Gene+Substrate.Gene+Substrate.Mod+Source, data=KSData.dataset.abbrev, FUN=mean)

KSData.dataset.abbrev 看起来像这样:

    Kinase.Gene Substrate.Gene Substrate.Mod                          Peptide           p        FC       log2FC          Source
364        ABL1          RBM39           Y95                        YRSPYSGPK 0.019590948 1.6158045  0.692252615 PhosphoSitePlus
8          AKT1         AKT1S1          T246                         LNTSDFQK 0.800879536 0.8909224 -0.166628324 PhosphoSitePlus
121        AKT1          EPHA2          S897                    LPSTSGSEGVPFR 0.500658346 0.7052020 -0.503891606 PhosphoSitePlus

使用上面的代码行后,df 看起来类似于:

    Kinase.Gene Substrate.Gene Substrate.Mod          Source        log2FC
430        ABL1          RBM39           Y95 PhosphoSitePlus  0.6922526152
19         AKT1          PEA15          S116 PhosphoSitePlus  1.1782441053
80         AKT1           MDM2          S166 PhosphoSitePlus -0.7967537534

我不知道,这条线有什么作用...感谢您的帮助

标签: raggregate

解决方案


我计算唯一组组合、和mean的。log2FC Kinase.GeneSubstrate.GeneSubstrate.ModSource

使用一个小数据样本,您可以看到aggregate在做什么:

(tt  <- data.frame(a = 1:2, b=1:3, x=1:12))
#   a b  x
#1  1 1  1
#2  2 2  2
#3  1 3  3
#4  2 1  4
#5  1 2  5
#6  2 3  6
#7  1 1  7
#8  2 2  8
#9  1 3  9
#10 2 1 10
#11 1 2 11
#12 2 3 12

aggregate(x ~ a, data=tt, FUN=mean) #Average for the groups in col a
#  a x
#1 1 6
#2 2 7

aggregate(x ~ a + b, data=tt, FUN=mean) #Average for the groups in col a and b
#  a b x
#1 1 1 4
#2 2 1 7
#3 1 2 8
#4 2 2 5
#5 1 3 6
#6 2 3 9

推荐阅读