【发布时间】:2018-10-30 23:54:36
【问题描述】:
我有一张这样的桌子:
data <- data.frame(a = c("0/0", "0/1", "0/0", "0/0" ),
b = c("0/1", "./.", "0/1", "0/0"),
c = c("1/0", "0/0", "1/1", "0/0"),
d = c("1/0", "0/0", "1/1", "0/0"),
f = c("L", "L", "T", "L"))
我想选择包含至少一个 0/1 或 1/0 且没有 ./ 的任何行。在 a、b 和 c 列中,并且与 f 列中的 L 匹配。
我正在尝试使用库 data.table
data[data$a %like% "0/1|1/0" | data$b %like% "0/1|1/0"| data$c %like% "0/1|1/0" & !(data$a %like% "./.") & !(data$b %like% "./.") & !(data$c %like% "./.") & data$f == "L", ]
但它不起作用。
表格如下所示:
a b c d f
1 0/0 0/1 1/0 1/0 L
2 0/1 ./. 0/0 0/0 L
3 0/0 0/1 1/1 1/1 T
4 0/0 0/0 0/0 0/0 L
所需的输出应如下所示:
a b c d f
1 0/0 0/1 1/0 1/0 L
你知道我是怎么做到的吗?
【问题讨论】:
-
如果其中一个答案解决了您的问题,请accept it;这样做不仅为回答者提供了一些积分,而且还为有类似问题的读者提供了一些关闭。尽管您只能接受一个答案,但您可以选择对您认为有帮助的人进行投票。 (如果仍有问题,您可能需要编辑您的问题并提供更多详细信息。)
标签: r data.table subset