我试图在表中找到一个匹配两个列值的行。 我知道我可以使用哪个功能:
my_data[which(my_data$col1 == "val"),]
但我如何为2个或更多值执行此操作? 我已经试过&&任何顺序的操作员,仍然没有帮助。
答案 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")