Hy伙计们,我有一个看起来像这样的data.frame:
Run Code Online (Sandbox Code Playgroud)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行.我想要以下输出:
Run Code Online (Sandbox Code Playgroud)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.
有人可以帮我吗?
如果要删除Chr_ID包含除Xor 之外的任何非数字字符的所有行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
Run Code Online (Sandbox Code Playgroud)
dat数据框的名称在哪里.
或者,如果X和Y不允许与数字组合,您可以使用
dat[grep("^(\\d+|X|Y)$", dat$Chr_ID), ]
Run Code Online (Sandbox Code Playgroud)