[读书笔记r4ds]III.Program 编程技巧

Programming is a cross-cutting skill needed for all data science work.
Over time, you want your code to become not just easier to write, but easier for others to read.

18 Pipes 管道符 %>%

%>%来自于magrittr package
%>%管道符能够让代码更容易阅读和理解。

管道符在2类公式中不起作用:

-- use the current environment. e. g. assign() ,get() , load().
-- use lazy evaluation. tryCatch(),try(), suppressMessages(),suppressWarnings().

  • When not to use the pipe:
  • 处理步骤过长,超过10步。使用一些中间变量可以让debug变的
  • 有多个输入或多个输出。
  • 操作步骤构成了一张复杂关系的有向图。You are starting to think about a directed graph with a complex dependency structure.

Other tools from magrittr

  • %T>% 向左操作符,类似%>%只不过它是把左边的值做为传递的值,而不是右边的值。这样可以%T>% 之后加上print()、plot()函数,展示中间计算过程。

    image.png

  • %$% 解释操作符(exposition pipe-operator) 的作用是把左侧dataframe中属性名传给右侧,让右侧的调用函数直接通过col name,就可以获取左侧的数据。

    image.png

  • %<>% 复合赋值操作符(compound assignment pipe-operator) 功能与 %>% 基本是一样的,对了一项额外的操作,就是把结果写到左侧对象

    image.png

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom阅读 2,719评论 0 3
  • 很实用的编程英语词库,共收录一千五百余条词汇。 第一部分: application 应用程式 应用、应用程序app...
    春天的蜜蜂阅读 1,399评论 0 22
  • 早安【日精进第533天/3650用生命影响生命!如何过一天就如何过一生! 没有反思的人生不值得过!(湖北省恩施市)...
    好心情_d8eb阅读 70评论 0 1
  • 又进入了某种不开心的循环 我想做些有意义的事情 那意味着 给人带去幸福感和快乐 或者平静与自省 可是现在的我 又在...
    杨杨_Sophie阅读 154评论 0 0
  • 【第 10天签到】 我是第45位签到的同学 珍姐,我已完成今天的习惯的培养训练,我会坚持完成 30 天签到,明天也...
    珍姐_10b4阅读 276评论 0 1