1

如何将具有多个条件的过滤器与 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")

现在,我需要过滤 2012 年第三季度的记录,并且需要在下面的步骤中使用管道运算符。

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

1 回答 1

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
于 2015-09-24T06:23:03.683 回答