我有这个两列数据库,列出了基因代码,然后是生物途径。在数据库中,一些基因代码与多种生物途径相关联:
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也有点新意,所以我不知道在哪里开始格式化。任何软件的任何帮助都将非常感激。
此问题与声明的副本不同,因为当我要求它们分开时,它们会尝试组合列。这个问题的答案也比较简单,不需要外部包装,因此值得分开。
答案 0 :(得分:1)
我们可以使用data.table
。我们将'data.frame'转换为'data.table'(setDT(df1)
),按'Gened.Code'分组,我们paste
将'Organ.Developmental.Effect'中的元素组合在一起。 toString
是paste(., 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