banner
大数据平台>大数据技术与应用>R语言编程能力提升

八招提升你的 R 语言编程能力

作者: afenxi来源: afenxi时间:2016-12-09 16:01:19

摘要:这个世界每天都在源源不断地生产数据,而人们尤其是商界往往希望从这些数据中获取到有价值的信息。而这一点也促使很多试图从数据中提取有用信息的数据科学家们(或被叫做数据分析师、数据挖掘者等等听起来不错的称谓)不断地进行探索。

引言

这个世界每天都在源源不断地生产数据,而人们尤其是商界往往希望从这些数据中获取到有价值的信息。而这一点也促使很多试图从数据中提取有用信息的数据科学家们(或被叫做数据分析师、数据挖掘者等等听起来不错的称谓)不断地进行探索。

很多作者身边的数据科学家毕业于统计学、数学、物理学或生物学专业。他们在研究过程中,往往只关注于独立的模型方法或者漂亮的可视化效果,却没人尝试通过学习计算机科学的相关课程提高自身掌握编程语言的能力,帮助他们敲出更优化和专业的代码——具有良好的易读性,可重复使用,运行高效,内存占用合理,容易移植,最重要的是可以产出可信的结果。

作者也不外如是。他在研究期间,曾有过使用 R 语言和Matlab 用于大量机器学习算法的实践经历。实践中,我们总是在注意力放在选取最优的模型,调整参数,解决与违背模型假设相关的问题和其他理论概念等等方面上。因此,作者在工作之初不得不去学习如何处理有缺陷的输入数据,写出每天都能够正常运行的代码,拟合最优的模型,以数据集的方式存储预测结果,或是直接使用它们解决在线客户的问题。

为了顺利完成工作,作者踏上码农标准的学习之路:阅读书籍、论文、博客,对感兴趣的项目尝试新方法去处理,谷歌搜索问题,在 stack-overflow 网站上提问,寻求的同事的帮助。但总是忙于解决一些微小且特定的问题。

幸运的是,作者曾与一些“机智”的计算科学家讨论过如何提高编程能力,写出专业化(至少别太业余)代码的问题。下文是作者自离校之后感悟到的一些关键点。这些关键点帮助作者在理论和实践中解决了更为复杂的问题。提高你的编程能力是一条学而无涯的路,你的每个新项目都是一次锻炼的过程。

1. 参数、常量和函数

如果你在写代码的时候就已经考虑过用它来解决相似的问题,那么写出来的代码是很容易被移植的。这个想法虽然简单,实践起来却并不容易。而“参数、常量和函数”便是你实现这点的基础。

参数可用于改变重要变量的值和完成一些设置。写代码的时候,注意不要以常量的形式去设定参数。而常量则可以用来定义不会改变的静态量,举例来说,当你需要比较字符串时就可以用到常量。

library(caret) library(futile.logger) # 常量 DATASET_IRIS <- iris DATASET_MTCARS <- mtcars IRIS_TARGET <- Sepal.Length MTCARS_TARGET <- mpg MODELLING_METHOD_RF <- random forest MODELLING_METHOD_GBM <- gradient boosting machine # 参数 DATASET <- DATASET_IRIS MODELLING_METHOD <- MODELLING_METHOD_GBM # 载入数据 flog.info(paste0(Loading , DATASET, dataset)) if (DATASET == DATASET_IRIS) # 创建输出图对象 sepal_length_hist <- f_create_histogram(iris, Sepal.Length) sepal_width_hist <- f_create_histogram(iris, Sepal.Width) # 展示 sepal_length_hist # 保存 ggsave(sepal_width_hist.png, plot=sepal_width_hist) 7. 复现性

确保你的代码可以被复现。由于很多数据分析的步骤中包含随机的取样或优化,因此我们需要确保重新运行代码可以得到同样的结果。这也是为什么我们需要使用set.seed()函数。

> set.seed(42); sample(LETTERS, 5) [1] "X" "Z" "G" "T" "O" > set.seed(42); sample(LETTERS, 5) [1] "X" "Z" "G" "T" "O" > sample(LETTERS, 5) [1] "N" "S" "D" "P" "W" 8. 组合工具

一旦你在 R 语言编程中小有所成,你会希望尽可能多地使用 R 中的工具。但请别忘了还有很多其他的可用工具,而且通过接口,它们可以与 R 实现共通。比方说,作者经常将 R 语言和 Python 或 SQL 数据库一起使用。

原文链接:8 simple ways how to boost your coding skills (not just) in R

原文作者:aLook 数据分析公司

译作者:Vector

原创文章,作者:数据工匠,如若转载,请注明出处:《八招提升你的 R 语言编程能力》http://www.afenxi.com/post/45811

banner
看过还想看
可能还想看
最新文章
Yonghong Z-Suite一站式大数据分析平台 —— 以卓越的数据技术为客户创造价值,实现客户成功。