根据值提取行

Din*_*esh -1 r

我有tab delim文本文件,其中包含以下列:

Probe    A_sig  A_Pval  
ILMN_122 12.31   0.04    
ILMN_456 56.12   0      
ILMN_198 981.2   0.06    
ILMN_980 876.0   0.001   
ILMN_542 123.9   0.16     
ILMN_567 134.1   0      
ILMN_452 213.4   0.98     
ILMN_142 543.8   0.04  
ILMN_765 187.4   0.05    
Run Code Online (Sandbox Code Playgroud)

现在我想取出那些Pval <.05的行.输出应该是这样的

     Probe     A_sig   A_Pval  
   ILMN_122     12.31   0.04  
   ILMN_980     876.0   0.001   
   ILMN_142     543.8   0.04   
Run Code Online (Sandbox Code Playgroud)

谁能帮帮我吗?

Tyl*_*ker 9

我会回答这个,但这是一个基本问题,可能会在此列表的其他地方重复出现.

加载数据.

DAT <- read.table(text="Probe    A_sig  A_Pval  
ILMN_122 12.31   0.04   
ILMN_456 56.12   0        
ILMN_198 981.2   0.06   
ILMN_980 876.0   0.001     
ILMN_542 123.9   0.16      
ILMN_567 134.1   0          
ILMN_452 213.4   0.98
ILMN_142 543.8   0.04
ILMN_765 187.4   0.05", h=T)
Run Code Online (Sandbox Code Playgroud)

您可以使用索引,如下所示:

DAT[DAT$A_Pval <.05, ]
Run Code Online (Sandbox Code Playgroud)

但是,这也会返回零值.这不是你输出的样子.如果您不希望零使用逻辑运算符&以及:

DAT[DAT$A_Pval <.05 & DAT$A_Pval!=0, ]
Run Code Online (Sandbox Code Playgroud)

我建议你看看一些手册和这个(LINK)参考卡,以帮助你入门.