我根据条件填充了一个列表R script并且我生成了一个汇总表但不幸的是,我遇到了表的问题。这是
id Alyr Crub Lala
TCONS_00002401.gene=XLOC_001343_TBH_1 Ortholog Not found Not found
TCONS_00002401.gene=XLOC_001343_TBH_1 Not found Not found Not found
TCONS_00002401.gene=XLOC_001343_TBH_1 Not found Ortholog Not found
如您所见,有三行和四列。我所期待的是为所有三个物种(Alyr,Crub和Lala)获得一个想法但不幸的是有三行。我怎么能把这些折叠成这样的东西?
id Alyr Crub Lala
TCONS_00002401.gene=XLOC_001343_TBH_1 Ortholog Ortholog Not found
答案 0 :(得分:1)
可能有一种方法可以过滤掉未映射的直系同源物。
同时,"快速和非NotTooDirty"解决方案如下:
dcast(子集(融化(df,id =" id"),值!="未找到"),id~variable + value)
其中df是输入数据框对象。
您可能需要重命名列。
第一个表达式(即,熔化(df,id =" id")创建一个3列df。 子集表达式过滤掉值=="未找到"的记录。 最后,dcast函数将其作为宽数据帧返回,每个id只有一行。
依赖关系:reshape2包(w.r.t.融合和dcast功能)