Использование dplyr::filter с несколькими условиями в сочетании с оператором pipe в R

Как я могу использовать фильтр с несколькими условиями в сочетании с оператором pipe %>% в R? Например:

x <- rep(c(2011:2012),4)
y <- sort(rep(c(1:4),2))
qtr <- as.data.frame(cbind(x,y))
names(qtr) <- c("year","qtr")

Теперь мне нужно отфильтровать записи за 3-й квартал 2012 года, и мне нужно использовать оператор pipe в следующем шаге.

z <- dplyr::filter(qtr,qtr$year==2012 & qtr$qtr==3)

1 ответ

С вашим примером

x <- rep(c(2011:2012),4)
y <- sort(rep(c(1:4),2))
qtr <- as.data.frame(cbind(x,y))
names(qtr) <- c("year","qtr")

ты можешь сделать:

dplyr::filter(qtr,year==2012 & qtr==3)
#>   year qtr
#> 1 2012   3
dplyr::filter(qtr, year==2012, qtr==3)
#>   year qtr
#> 1 2012   3

трубопроводы:

qtr %>% 
  filter(year == 2012, qtr == 3)
#>   year qtr
#> 1 2012   3

или пошагово

qtr %>% 
  filter(year == 2012) %>% 
  filter(qtr == 3)
#>   year qtr
#> 1 2012   3
Другие вопросы по тегам