0
dplyr中的嵌套過濾?
以下兩個代碼塊都可以工作,但我對是否可以使用管道一次性完成第二個代碼塊(使用dplyr)感興趣?或者我寫下面的方式是實現這一目標的最佳方式。在dplyr中執行嵌套過濾的最佳方法
在SQL我這樣做:
library(sqldf)
library(gapminder)
sqldf('
select * from gapminder
where country in (select country from gapminder where year > 2000 and lifeExp < 75)
and country in (select country from gapminder where year < 2000 and lifeExp > 75)
')
在dplyr我不喜歡這樣寫道:
gapminder %>% filter( year < 2000 & lifeExp > 75 ) %>% select(country) -> condition1
gapminder %>% filter( year >= 2000 & lifeExp < 75 ) %>% select(country) -> condition2
gapminder %>% filter(country %in% condition1$country, country %in% condition2$country)