我正在处理一些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
我使用了以下代码:
false_signal<-c("aacC", "tet(34)")
ct<-ct[!grepl(paste(false_signal, collapse="|"), ct$Gene),]
然而,我发现所有的基因含有&#34; aacC&#34;除去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
你能帮我解释一下代码吗?我只想删除&#34; aacC&#34; &#34; tet(34)&#34;,但不是&#34; aacC1&#34;,&#34; aacC2&#34;,&#34; aacC4&#34;。我认为可能是我错过了使用&#34; grep&#34;功能。
答案 0 :(得分:-1)
假设您的数据位于名为qPCR的数据框中,我会使用subset1 <- qPCR[ which(qPCR$Gene != 'aacC' & qPCR$Gene != 'tet(34)'), ]