计算列中有一个值的数量

时间:2018-01-20 20:17:57

标签: r

有没有办法计算一列中有多少个值(使用R)?

我正在努力计算出我的生物学学位每个基因的旁系同源基因数量。到目前为止,我有一个看起来像这样的表:

                  Gene name                               Paralog
14                 Crabp2                                 Crabp1
15                 Crabp2                                   Rbp2
16                 Crabp2                                   Rbp7
17                 Crabp2                                   Rbp1
18                 Crabp2                                  Fabp5
19                 Crabp2                                  Fabp7
20                 Crabp2                                   Pmp2
21                 Crabp2                                 Fabp12
22                 Crabp2                                Gm37389
23                 Crabp2                                  Fabp3
24                 Crabp2                                  Fabp9
25                 Crabp2                                  Fabp4
26                 Zfp653                             AC163623.1
27                 Zfp653                                 Zfp276
28                 Zfp653                                  Zfp91
29                 Zfp653                                 Zfp692
30             AC163623.1                                 Zfp653
31             AC163623.1                                 Zfp276
32             AC163623.1                                  Zfp91
33             AC163623.1                                 Zfp692
34                   Apom                                       
35                  Map10 

从表中可以看出,' Crabp2'有许多旁系同源物。一个基因有许多旁系 - 有些基因没有 - 但我想知道每个基因有多少个旁系同源物。我试图得到一个看起来像这样的表:

                  Gene            freq
                 Crabp2            12
                 Zfp653            4
               AC163623.1          4
                  Apom             0
                 Map10             0

原始表包含25,000行。

1 个答案:

答案 0 :(得分:1)

如果每个paralog只有一行,那么

as.data.frame(table(na.omit(your_data[["Gene name"]])))

应该有用。

table()是主要功能; na.omit()应该摆脱非旁系统值(这可能取决于数据的编码方式); as.data.frame()只是更改输出格式。