R:按两个值查找行

时间:2017-09-25 22:35:37

标签: r

我试图在表中找到一个匹配两个列值的行。 我知道我可以使用哪个功能:

my_data[which(my_data$col1 == "val"),]

但我如何为2个或更多值执行此操作? 我已经试过&&任何顺序的操作员,仍然没有帮助。

3 个答案:

答案 0 :(得分:5)

使用filter中的dplyr功能,您可以毫不费力地执行此操作。尝试这样的事情:

my_data %>%
  filter(col1 == "val", col2 == "other")

默认情况下,您有两个或多个语句,filter将其视为AND,但您可以更加明确&

my_data %>%
  filter(col1 == "val" & col2 == "other")

答案 1 :(得分:3)

my_data[which(my_data$col1 == "val" & my_data$col2 == "val2"),]应该在R基础上工作。

答案 2 :(得分:2)

您可以在subset中使用base R

subset(my_data, col1 == "val" & col2 == "char")