我下面这个例子中,server.R,文件就在这里。
我打算做一个类似的过滤器,但是却不知道该怎么%>%
做。
# Apply filters
m <- all_movies %>%
filter(
Reviews >= reviews,
Oscars >= oscars,
Year >= minyear,
Year <= maxyear,
BoxOffice >= minboxoffice,
BoxOffice <= maxboxoffice
) %>%
arrange(Oscars)
中缀运算符%>%
不是基数R的一部分,但实际上是由程序包magrittr
(CRAN)定义的,并且由dplyr
(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))
。有些人喜欢链接而不是嵌套,因为所应用的功能可以从左到右而不是从内到外读取。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句