我们将把一段歌谣:
一只小兔叫福福
蹦蹦跳跳过森林
抓起一窝小田鼠
每只头上打一下
用四种方法:
1.将每个中间步骤保存为一个新对象
2.多次重写初始对象
3.组合多个函数
4.使用管道
来讲述,以此体会管道的原理和替代方法。
library(magrittr)
一、中间步骤
最简单的方法是把每个中间步骤都保存为一个新对象:
foo_foo<-little_bunny()
foo_foo_1<-hop(foo_foo,through=forest)
foo_foo_2<-scoop(foo_foo_1,up=field_mice)
foo_foo_3<-bop(foo_foo_2,on=head)
这种方法最大的缺点是,必须为每个结果建立一个新变量。而大多数时候这些变量是没有什么实际意义的。这样会造成:
1.代码中充斥着大量不必要的变量。
2.必须在每一行代码中小心翼翼地修改后缀。
二、重写初始对象
foo_foo<-little_bunny()
foo_foo<-hop(foo_foo,through=forest)
foo_foo<-scoop(foo_foo,up=field_mice)
foo_foo<-bop(foo_foo,on=head)
缺点:
1.如果出错,就必须从头开始运行整个流程。
2.多次从写阻碍了我们看清每行中发生了哪些变化。