2017-08-31 5 views
0

私はいくつかのqPCR結果を処理していると私は生データは以下の通りであるR.に偽陽性の結果を削除したいと思います:特定の文字を削除行が、部分的に同じではない文字

Gene Sample Ct 
aacC 1 27.57863 
aacC1 1 23.64810 
aacC2 1 28.65250 
aacC4 1 34.21550 
tetA 1 25.37649 
tet(34) 1 29.39106 
aacC 2 33.89373 
aacC1 2 30.94777 
aacC2 2 35.08097 
aacC4 2 24.55223 
tetA 2 11.88988 
tet(34) 2 18.39641 
aacC 3 30.64538 
aacC1 3 27.13225 
aacC2 3 11.72730 
aacC4 3 23.60715 
tetA 3 15.78128 
tet(34) 3 12.49784 

私はしたいと思います遺伝子「aacC」および「tet(34)」を除去する。私は期待結果は:

Gene Sample Ct 
aacC1 1 23.64810 
aacC2 1 28.65250 
aacC4 1 34.21550 
tetA 1 25.37649 
aacC1 2 30.94777 
aacC2 2 35.08097 
aacC4 2 24.55223 
tetA 2 11.88988 
aacC1 3 27.13225 
aacC2 3 11.72730 
aacC4 3 23.60715 
tetA 3 15.78128 

Iは、次のようなコードを使用する:

false_signal<-c("aacC", "tet(34)") 
ct<-ct[!grepl(paste(false_signal, collapse="|"), ct$Gene),] 

をしかし、私は "AACC" を含むすべての遺伝子を除去し、TET(34)が残っていたが見つかりました。結果は次のとおりです。

Gene Sample Ct 
tetA 1 25.37649 
tet(34) 1 29.39106 
tetA 2 11.88988 
tet(34) 2 18.39641 
tetA 3 15.78128 
tet(34) 3 12.49784 

あなたはコードで私を助けていただけますか?私はただ "aacC"と "tet(34)"を削除したいが、 "aacC1"、 "aacC2"、 "aacC4"は削除しない。私は "grep"機能を使って見逃したものかもしれないと思います。あなたのデータを想定し

+2

を使うのでしょうか? '' aacC ''、 "tet(34)")、 " – zx8754

+0

"または非常に単純に:ct_clean < - ct [Gene $ = "aacC"&ct $] Gene!= "tet(34)"、] – KoenV

+2

完全一致には正規表現を使用しないでください。 –

答えて

-1

が定量PCRと呼ばれるデータフレームであり、私は多分、「%で%」との完全一致を使用subset1 <- qPCR[ which(qPCR$Gene != 'aacC' & qPCR$Gene != 'tet(34)'), ]

+0

ありがとうレイラ。私は結果から削除するために別の40のプライマーを持っているので、これを簡単なコードで実現したいのですが、何か提案はありますか? – Guagua

+0

おっと... zx8754でマークされた重複した質問を見ましたか? – Leila

関連する問題