-1

次のデータフレームについて質問があります。

genes <- matrix(c("chr1","chr2","chr2","chr2","chr2","chr2",
              "uc001upw.2","uc001upw.2","uc001upw.2","uc001upx.1","uc001upy.1","uc001upz.1",
              "188001308","188001308","188001308","188037202","188037202","188037202",
              "188021266","188021266","188021266","188086618","188127464","188127464",
              "-","-","-","-","-","-",
              "CARCRL","CALCRL","CALCRL","TFPI","TFPI","TFPI", 
              "uc001upx.1","uc00upy.1","uc001upz.1","uc001upw.2","uc001upw.2","uc001upw.2",
              "188037202","188037202","188037202","188001308","188001308","188001308",
              "188086618","188127464","188127464","188021266","188021266","188021266",
              "-","-","-","-","-","-",
              "TFPI","TFPI","TFPI","CALCRL","CALCRL","CALCRL",
              "35894","35894","35894","35894","35894","35894"), nrow=6)

colnames(genes)<- c("chr","names.x","start.x","stop.x","strand.x","alias.x","name.y","start.y","stop.y","strand.y", "alias.y", "distance_startsite")
genes<-as.data.frame(genes)

データフレームでは、最初の 3 行が names.x と names.y によって一意であることがわかります。行 4、5、および 6 は一意ではなく、逆に表示されているだけです。私の質問は次のとおりです。これをフィルタリングする方法はありますか?

ありがとうございます!サマンサ

4

1 に答える 1

1

これを行うための最も美しい方法ではないと確信していますが、それは仕事を成し遂げます:

genes[!duplicated(t(apply(genes[,c('names.x','name.y')],1,sort))),]
于 2011-05-18T14:47:20.593 に答える