小编典典

%>%在R中是什么意思

all

我正在关注这个例子,server.R 文件
在这里

我计划做一个类似的过滤器,但不知道做什么%>%

 # Apply filters
    m <- all_movies %>%
      filter(
        Reviews >= reviews,
        Oscars >= oscars,
        Year >= minyear,
        Year <= maxyear,
        BoxOffice >= minboxoffice,
        BoxOffice <= maxboxoffice
      ) %>%
      arrange(Oscars)

阅读 112

收藏
2022-07-31

共1个答案

小编典典

中缀运算符%>%不是基础 R 的一部分,但实际上由包magrittr(
CRANdplyr )
定义并且被( CRAN ) 大量使用。

它像烟斗一样工作,因此参考了马格利特的名画《图像的背叛》

该函数所做的是将运算符的左侧传递给运算符右侧的第一个参数。在以下示例中,数据帧iris被传递给head()

library(magrittr)
iris %>% head()
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa
6          5.4         3.9          1.7         0.4  setosa

因此,iris %>% head()等价于head(iris)

通常,%>%多次调用以将函数“链接”在一起,从而实现与嵌套相同的结果。例如,在下面的链中,iris传递给head(),然后将结果传递给summary()

iris %>% head() %>% summary()

因此iris %>% head() %>% summary()等价于summary(head(iris))。有些人更喜欢链接而不是嵌套,因为应用的函数可以从左到右读取,而不是从内向外读取。

2022-07-31