[读书笔记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

你可能感兴趣的:([读书笔记r4ds]III.Program 编程技巧)