我的数据框df
看起来像这样:
Home, Away, Inning
"Boston", "NYC", "Top"
"NYC", "Boston", "Bottom"
"NYC", "Boston", "Top"
我想使用dplyr' s filter()
创建一个数据框,从ifelse()
查询中获取数据。
如果Home
为"Boston"
,请向我提供Inning
为"Top"
的所有行。如果Away
为"Boston"
,请向我提供Inning
为"Bottom"
的所有行。
如何使用dplyr' filter()
?
答案 0 :(得分:7)
我认为您不需要ifelse()
,只需在过滤器中指定逻辑。
dplyr::filter(df, (Home == "Boston" & Inning == "Top") |
(Away == "Boston" & Inning == "Bottom"))
# Home Away Inning
# 1 Boston NYC Top
# 2 NYC Boston Bottom
答案 1 :(得分:2)
我们可以使用subset
base R
subset(df1, (Home == "Boston" & Inning =="Top" )|
(Away == "Boston" & Inning == "Bottom"))
# Home Away Inning
#1 Boston NYC Top
#2 NYC Boston Bottom