如何解决使用R中不同列中的短语层次结构为每个ID选择行
我有一张桌子:
${original.filename}
每人我想输出具有最高层值的行(TIER1> TIER2> TIER3)。我可以将TIER转换为数字,但在某个时候我还必须对结果列做同样的事情(stop_gain> frameshift>等),所以想知道R中是否有一种方法无需转换数据。理想情况下,当我在气密的HPC中使用烦人的外部工具导入时,基本的R解决方案。
所需的输出为:
ID Gene Tier Consequence
1314 ABC TIER1 missense
1314 PKD1 TIER1 frameshift
6245 BJD TIER1 splice_site_variant
1314 ADAMST TIER3 stop_gain
7631 PKD2 TIER1 missense
7631 BFH TIER2 stop_gain
5336 PKD1 TIER3 missense
1399 PKD1 TIER2 non-coding
1399 TMEM TIER3 missense
非常感谢
解决方法
也许您可以像下面这样尝试subset
+ ave
subset(df,as.logical(ave(Tier,ID,FUN = function(x) x == min(x))))
给予
ID Gene Tier Consequence
1 1314 ABC TIER1 missense
2 1314 PKD1 TIER1 frameshift
3 6245 BJD TIER1 splice_site_variant
5 7631 PKD2 TIER1 missense
7 5336 PKD1 TIER3 missense
8 1399 PKD1 TIER2 non-coding
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。