我有制表符分隔文本文件,其中包含以下列:
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
现在我想取出那些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
有人可以帮助我吗?
答案 0 :(得分: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)
您可以使用索引,如下所示:
DAT[DAT$A_Pval <.05, ]
然而,这也会返回零值。这不是你输出的样子。如果您不希望零使用逻辑运算符&amp;以及:
DAT[DAT$A_Pval <.05 & DAT$A_Pval!=0, ]
我建议您查看一些手册和此(LINK)参考卡,以帮助您入门。
答案 1 :(得分:2)
my_dataframe[my_dataframe$A_Pval < 0.05,]
尾随逗号非常重要。