如何dplyr过滤器匹配?

rma*_*gno 1 r dplyr

我想这可能是一个相当简单的问题,但如何做到这一点(基础 R):

df <- data.frame(x=10:1,y=(1:10)^2)
df[match(c(3,5,7), df$x),]
Run Code Online (Sandbox Code Playgroud)

用惯用的 dplyr 说法:

tb <- dplyr::as.tbl(df)
dplyr::filter(tb, ??? )
Run Code Online (Sandbox Code Playgroud)

或者,换句话说,应该怎样做???才能使它在功能上等同于第一个片段?请注意,结果数据帧/tibble 中的行顺序是相关的。

rma*_*gno 5

正如@RichScriven 所建议的:使用dplyr::slice(df, match(c(3, 5, 7), x))代替dplyr::filter.