如何使用dplyr的filter()和R-base的ifelse()过滤数据框?

Use*_*ame 2 if-statement r dplyr

我的数据框df看起来像这样:

Home,     Away,    Inning
"Boston", "NYC",    "Top"
"NYC",    "Boston", "Bottom"
"NYC",    "Boston", "Top"
Run Code Online (Sandbox Code Playgroud)

我想使用dplyr filter()来创建一个从ifelse()查询中获取数据的数据框.

如果Home"Boston",给我所有行Inning"Top".如果Away"Boston",给我所有行Inning"Bottom".

我如何用dplyr做到这一点filter()

Psi*_*dom 8

我认为你不需要ifelse(),只需在过滤器中指定逻辑.

dplyr::filter(df, (Home == "Boston" & Inning == "Top") | 
                  (Away == "Boston" & Inning == "Bottom"))

#     Home   Away Inning
# 1 Boston    NYC    Top
# 2    NYC Boston Bottom
Run Code Online (Sandbox Code Playgroud)