前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R for Data Science(十二)

R for Data Science(十二)

作者头像
生信技能树
发布2018-08-16 17:21:41
4730
发布2018-08-16 17:21:41
举报
文章被收录于专栏:生信技能树生信技能树

微信公众号:生信菜鸟团 关注可了解更多的教程。问题或建议,请公众号留言; **如果你觉得教程对你有帮助,欢迎赞赏

R for Data Science(十二)

接着我们进入该书的第三大章节

program

编写函数(一)

一直觉得编程能力好的人都会写函数,我对R语言写函数能力比较差,就学了这一章节,拆分如何写函数以及为什么写函数 例如我们看一下这个代码

mark 您可能会困惑这些代码实际上就是归一化每个列的范围从0到1。要编写一个函数,首先需要分析代码。它有多少个输入

mark 此代码只有一个输入:df$a。为了使输入更加清晰,用一般的临时变量来重写代码是一个好主意。在这里,这段代码只需要一个数字向量,所以我将它命名为x

mark 这段代码有些重复。我们计算数据的范围,计算了三次,所以在一步中做是有意义的,我们可以用range函数来代替

mark 接着我可以将它转换为函数

mark 创建新函数有三个关键步骤: 需要为函数选择一个名称。这里我用了rescale01,因为这个函数把一个向量缩放到0到1之间。 您可以将输入或参数列在函数内部的函数中。 函数体里面放置代码。 接着便是用不同的输入来检验代码

mark 现在我们有了一个函数,就可以简化原来的例子了

mark 函数的另一个优点是,如果我们的需求发生变化,我们只需要在一个地方进行更改。例如,我们可能会发现我们的一些变量包含无限值,rescale01()失败了

mark 因为我们已经将代码提取到函数中,所以只需要在一个地方进行修复

mark

代码中重复的次数越多,当事情发生变化时需要记住更新的地方就越多(它们总是会发生变化!),随着时间的推移,创建bug的可能性也就越大。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-08-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信技能树 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • R for Data Science(十二)
  • program
  • 编写函数(一)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档