首页 > 解决方案 > 基于多种条件的生物信息学过滤/选择

问题描述

嗨,我正在尝试选择具有某些 KEGG 途径的不同 OTU,我想知道为什么以下方法不起作用或您推荐什么。我试过 dplyr 并使用=, !=<>但没有成功。有什么建议吗?

Group1<-sqldf("SELECT DISTINCT OTU FROM 'retro.flux.avg.OTU'
WHERE Pathway IN ('ko00362','ko00625','ko00361','ko00623','ko00622','ko00633','ko00642','ko00626','ko00624')")
          AND Pathway IN ('ko02030')")

Group2<-sqldf("SELECT DISTINCT OTU FROM 'retro.flux.avg.OTU'
WHERE Pathway IN ('ko00362','ko00625','ko00361','ko00623','ko00622','ko00633','ko00642','ko00626','ko00624')")
          AND Pathway NOT IN ('ko02030')")

Group3<-sqldf("SELECT DISTINCT OTU FROM 'retro.flux.avg.OTU'
WHERE Pathway NOT IN ('ko00362','ko00625','ko00361','ko00623','ko00622','ko00633','ko00642','ko00626','ko00624')")
          AND Pathway IN ('ko02030')")


Group4<-sqldf("SELECT DISTINCT OTU FROM 'retro.flux.avg.OTU'
WHERE Pathway NOT IN ('ko02030','ko00362','ko00625','ko00361','ko00623','ko00622','ko00633','ko00642','ko00626','ko00624')")

标签: sqlrbioinformaticssqldf

解决方案


这是我的想法

代替

Group1<-sqldf("SELECT DISTINCT OTU FROM 'retro.flux.avg.OTU'
WHERE Pathway IN ('ko00362','ko00625','ko00361','ko00623','ko00622','ko00633','ko00642','ko00626','ko00624')") 
AND Pathway IN ('ko02030')")

只需输入以下内容

删除了额外的 "),我注意到查询中还有 1 个错误并修复了它

Group1<-sqldf("SELECT DISTINCT OTU FROM 'retro.flux.avg.OTU'
WHERE Pathway IN ('ko00362','ko00625','ko00361','ko00623','ko00622','ko00633','ko00642','ko00626','ko00624')")

推荐阅读