如何根据R中的查询ID折叠列?

Upendra

我已经根据使用此R脚本的条件填充了一个列表,并生成了一个摘要表,但是不幸的是,我遇到了该表的问题。这里是

          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
曼努埃尔·杜瓦尔(Manuel Duval)

可能有一种方法可以过滤掉未映射的直系同源物。

同时,“ quick-and-NotTooDirty”解决方案如下:

dcast(subset(melt(df,id =“ id”),值!=“未找到”),id〜变量+值)

其中df是您输入的dataframe对象。

您可能必须重命名列。

第一个表达式(即melt(df,id =“ id”)创建一个3列df。子集表达式过滤掉值==“ Not found”的记录。最后,dcast函数将其作为宽数据帧放回去,每个ID仅一行。

相关性:reshape2包(写了melt和dcast函数)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章