[读书笔记r4ds]III.Program 编程技巧
2019-11-20 本文已影响0人
茶思饭
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
-
image.png%T>%
向左操作符,类似%>%
只不过它是把左边的值做为传递的值,而不是右边的值。这样可以%T>%
之后加上print()、plot()函数,展示中间计算过程。
-
image.png%$%
解释操作符(exposition pipe-operator) 的作用是把左侧dataframe中属性名传给右侧,让右侧的调用函数直接通过col name,就可以获取左侧的数据。
-
image.png%<>%
复合赋值操作符(compound assignment pipe-operator) 功能与 %>% 基本是一样的,对了一项额外的操作,就是把结果写到左侧对象