推荐不保存不必要的对象的操作符:%>%

a <- filter(mtcars, carb > 1)
b <- group_by(a, cyl)
c <- summarise(b, Avg_mpg = mean(mpg))
d <- arrange(c, desc(Avg_mpg))
print(d)
# A tibble: 3 x 2
    cyl Avg_mpg
     
1     4    25.9
2     6    19.7
3     8    15.1

以这种方式对多个函数排序,您可能会保存多个对您或其他人来说信息不是很丰富的输出;相反,保存它们的唯一原因是将它们插入到下一个函数中,从而最终得到您想要的最终输出。这不可避免地会产生不必要的副本,并破坏正确管理对象。
为了提供相同的可读性(甚至更好),我们可以使用%>%将这些参数串在一起,而不需要创建不必要的对象…

library(magrittr)
library(dplyr)

mtcars %>%
        filter(carb > 1) %>%
        group_by(cyl) %>%
        summarise(Avg_mpg = mean(mpg)) %>%
        arrange(desc(Avg_mpg))

# A tibble: 3 x 2
    cyl Avg_mpg
     
1     4    25.9
2     6    19.7
3     8    15.1

%>%操作符,使得代码更高效、更清晰,您可以像阅读普通散文一样阅读它(我们将%>%读为“然后”):“取mtcars,然后 filter ,然后 group by ,然后 summarize ,然后 arrange 。”直观一点的展示:

(iris %>% head)$Sepal.Width %>% mean
> (iris %>% head)$Sepal.Width
[1] 3.5 3.0 3.2 3.1 3.6 3.9
> (iris %>% head)$Sepal.Width %>% mean
[1] 3.383333

引用内容来自http://www.geocalculate.com/4658.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值