注:小版最近因为工作事情,疏忽论坛的服务工作,导致现在论坛币被扣成“负值”了,今天再此将自己的一个blog(原帖http://120.26.110.31/)发上来,攒点人气,也希望能够产生共鸣的同学哈
。
R语言现在已经成为数据分析、挖掘炙手可热的工具,对于它的介绍就不在赘述了。我是一个R迷,经常拜读一些大神的杰作,有人用R做可视化分析、有人用R开发小游戏等等,集思广益,现在R已经触角越来越多的方面,从一个数据分析师来说,我也收益于这种开源带来的便利,至少不用学习更多的工具或编程语言(如果你追求专业级别,那请忽略),下面自己简单的整理了一些自己工作中经常用R干的那些事儿。
数据读取方式有很多。
根据你的数据存储方式的不同,读取数据的方式也有很多。oracle、mysql这类数据库数据,txt、EXCEL等这类本机数据。R都有提供对应的方法去读取数据,相关的packages包括:RODBC、ROracle、RMysql、xlsx、data.table等(data.table这个包的fread函数在读取比较大的文件下建议使用),这个根据实际情况去选择。
数据预处理不是事儿。
结合使用正则表达式,R的文本处理能力还是很强的(不过我也经常用Python去处理,处理速度相对快点),可以用reshape2、dplyr、tidyr、lubridate(lubridate这个包主要是处理时间格式的数据)去对数据进行筛选、join类关联、格式转换等内容。
数据建模函数多。
分析建模这就不用多说,可以说这是R的优势。回归(包括LR)、聚类、方差分析、时间序列等统计分析方法,随机森林、GBDT、神经网络等机器学习方法,相关参考资料和文档也有很多。
丰富的可视化分析。
R basic中已经包括了很多统计可视化分析方法(其实自己现在基本上也不用了),感谢Hadley前后贡献的ggplot2、ggvis,ggplot2提供了更绚丽的可视化图库,ggvis提供了可交互的可视化分析(有兴趣的可以了解googleVis、rcharts和recharts包,这些包生成的图形就更绚丽了),结合使用shiny,就能够实现可视化交互。
结果报告是亮点。
这里要感谢谢老大等rstudio工作室大神的贡献,自己很喜欢knitr、rmarkdown、shiny这些包,可以把日常常用的分析方法固化起来,这样每日就可以自动化产出包括pdf、word和html等各种格 式的分析报告,方便快捷好用,这点我也感觉是其它工具无法媲美的地方。
其他自动化功能。
按照上面流程来看,最后就是缺一个自动化执行和自动化发送两块。我目前是用bat脚本调用R script自动执行,用mailR等包实现自动将输出结果发送到指定邮件联系人。