Gene_name Chr_ID Value a 1 34 b HG1497_PATCH 12 c 22 123 d LRG_70 34 e X 56 f Y 0.1 g 6 0.12 ..... ..... .......
直到10.000行。 我想要以下输出:
Gene_name Chr_ID Value a 1 34 c 22 123 e X 56 f Y 0.1 g 6 0.12 ..... ..... .......
保留行的标准是第2列(Chr_ID
)加X
和Y
的数字值。
有人可以帮我吗?
答案 0 :(得分:5)
如果要删除Chr_ID
包含除X
或Y
以外的任何非数字字符的所有行,您可以使用
dat[grep("^(\\d|[XY])+$", dat$Chr_ID), ]
# Gene_name Chr_ID Value
# 1 a 1 34.00
# 3 c 22 123.00
# 5 e X 56.00
# 6 f Y 0.10
# 7 g 6 0.12
其中dat
是数据框的名称。
或者,如果X
和Y
不允许与数字结合使用,则可以使用
dat[grep("^(\\d+|X|Y)$", dat$Chr_ID), ]