算法匹配数据帧中的行并将数据写入相应的列

时间:2015-03-02 09:46:02

标签: r

我有一个包含基因的文件,其名称为genes_info.csv的信息数据如下。

gene observation
a    xyzcgy
b    yetdhs
a    dgdtcuen

文件中有多余的基因,但它们的相应列是不同的,即每个基因具有不同的观察结果。接下来我列出了非冗余基因。 我的查询是将非冗余基因列表与gene_info.csv匹配并提取相应的观察结果,但不在行中,即使在

等列中也是如此
gene   observation  observation2
a      xyzcgy       dgdtcuen
b      yetdhs

请帮助我摆脱这个麻烦。

1 个答案:

答案 0 :(得分:0)

你可以尝试

 library(reshape2)
  df1$indx <- with(df1, paste0('observation',
               ave(seq_along(gene), gene, FUN=seq_along)))
 dcast(df1, gene~indx, value.var='observation', fill='')
 #    gene observation1 observation2
 #1    a       xyzcgy     dgdtcuen
 #2    b       yetdhs