什么是%>;%以R表示的平均数

什么是%>;%以R表示的平均数,r,magrittr,R,Magrittr,我遵循这个示例,server.R 我计划做一个类似的过滤器,但是我不知道%%>%做了什么 # Apply filters m <- all_movies %>% filter( Reviews >= reviews, Oscars >= oscars, Year >= minyear, Year <= maxyear, BoxOffice >= minb

我遵循这个示例,server.R

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

 # Apply filters
    m <- all_movies %>%
      filter(
        Reviews >= reviews,
        Oscars >= oscars,
        Year >= minyear,
        Year <= maxyear,
        BoxOffice >= minboxoffice,
        BoxOffice <= maxboxoffice
      ) %>%
      arrange(Oscars)
#应用过滤器
m%
滤器(
评论>=评论,
奥斯卡>=奥斯卡,
年份>=minyear,
年份=minboxoffice,
票房%
安排(奥斯卡)

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

它就像一根管子,因此引用了马格里特的名画

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

因此,
iris%>%head()
相当于
head(iris)

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


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

See,这在dplyr中被大量使用。它在R中没有任何意义。magrittr包(由dplyr使用)定义了它的含义:看看这个:我们可以用unix重写%>%操作符吗?| in R?我想你可以,但它可能会干扰|操作符对“or”的使用,这有时是需要的。
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() %>% summary()