将重复项移动到新列中

时间:2015-11-24 15:03:40

标签: r excel formatting

我有这个两列数据库,列出了基因代码,然后是生物途径。在数据库中,一些基因代码与多种生物途径相关联:

      A           B
    396139  mesonephros development    
    396139  camera-type eye development  
    396139  Sertoli celldevelopment

我试图摆脱这些重复,同时将每个生物功能移到一个新的列:

  A       B                         C                           D
396139    mesonephros development   camera-type eye development Sertoli celldevelopment

我在Excel中尝试了一些宏,但是没有成功地做任何建设性的事情。我对R也有点新意,所以我不知道在哪里开始格式化。任何软件的任何帮助都将非常感激。

此问题与声明的副本不同,因为当我要求它们分开时,它们会尝试组合列。这个问题的答案也比较简单,不需要外部包装,因此值得分开。

1 个答案:

答案 0 :(得分:1)

我们可以使用data.table。我们将'data.frame'转换为'data.table'(setDT(df1)),按'Gened.Code'分组,我们paste将'Organ.Developmental.Effect'中的元素组合在一起。 toStringpaste(., collapse=', ')的包装器。

library(data.table)
setDT(df1)[, list(Col= toString(Organ.Developmental.Effect)) , Gene.Code]
#   Gene.Code
#1:        11
#2:        19
#3:        37
#4:       674
#5:      2033
#6:     2-Sep
#7:     5-Sep
#8:    396139
#                                                                             Col
#1:                                        eye photoreceptor cell differentiation
#2:                                        eye photoreceptor cell differentiation
#3:                                        eye photoreceptor cell differentiation
#4:                                           larval salivary gland morphogenesis
#5:                                                    compound eye morphogenesis
#6:                                                     imaginal disc development
#7:                                                     imaginal disc development
#8: metanephros development, mesonephros development, camera-type eye development