遺伝子 A と B の 2 つの非常に大きなリストがあります。A には GeneID と p 値の 2 つの列があり、B には GeneID の 1 つの列しかありません。B には約 100,000 の遺伝子があり、これらは A の遺伝子のサブセットです (ここでは約 700,000 の遺伝子)。
GeneListA GeneID p.value 41931 0.0210 41931 0.0003 5310612 0.3161 5310612 0.7089 5310612 0.0021 98317 0.1139 98317 0.0009 215688 0.0031 215688 0.0008 GeneListB 遺伝子ID 41931 41931 215688 215688 目的の GeneListC 5310612 0.3161 5310612 0.7089 5310612 0.0021 98317 0.1139 98317 0.0009
B の遺伝子が A に表示されることはもう望んでいません。p 値を A に保持したまま、それらを取り除くにはどうすればよいですか? これまでに3つの異なる方法を試しました:
p 値の列を削除したので、両方のリストに Entrez Gene ID しかありません。次に、次のコードを使用しました:
new<-A[setdiff(rownames(A),rownames(B)),]
が、予想とはまったく異なる遺伝子セットを取得しました。ABではなく、AとBの遺伝子がランダムに混ざったように見えた私も試しました:
new<-A[!apply(A,1,FUN=function(y){any(apply(B,1,FUN=function(x){all(x==y)}))}),]
- 最後に、EntrezGeneID でマージしようとしましたが、それもだめでした。
私はこれによって破壊されているので、助けていただければ幸いです。