如何将具有多个条件的过滤器与R中的管道%>%运算符结合使用?对于Eg:
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")
现在,我需要过滤2012年第3季度的记录,我需要在下面的步骤中使用管道运算符。
z <- dplyr::filter(qtr,qtr$year==2012 & qtr$qtr==3)
答案 0 :(得分:4)
使用您的示例
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