在过去一年的数据科学的实践中,总有人问我平时如何学习R语言的,被问的次数多了,多少有点有感而发,刚好前段时间Mark了一个资料说有哪些R包是数据科学家的必备武器,就打算结合自己的学习经验谈谈如何学习R语言。作为一名刚从R入门阶段开始进阶的统计小硕而言,写这样的文章真的只是经验之谈,现在国内R语言大咖越来越多,无论是对R语言还是数据科学来说,都是值得庆幸的事。

从当初计量经济学课开始接触R语言到现在,两年时间还不到,大约一年前开始认识到数据科学和R语言的潜力与优势,下决心认真学习R。相关的R教材全文通读的只有《R语言实战》和《R语言与数据挖掘》,两本都是中译本的书,当初看教材效果并不好,隔三差五总有乱七八糟的事,两天不写代码再一下手就各种报错,依靠早期的热情好歹通了个读,后来便不再执着于去啃教材,几百页的大书要是没个热情支撑着读个几十页就放弃了。去年下半年开始决定找实际的数据分析与数据挖掘小项目练手,做了之后发现收获匪浅,进步也是来的比之前大,开始的时候是从kaggle或者UCI(加州大学欧文分校)机器学习库上面找一些数据集来练手,后来又觉得这样现成的数据对自己帮助不大,又去学习爬虫,从开始用Python写scrapy框架到后来的Rvest/RCurl抓数据,发现随心所欲的抓一些自己想要的数据然后自己清洗自己manipulate的感觉是真好,就这样断断续续的按照数据采集、数据清洗、数据分析、数据挖掘、结果可视化这样的一整套数据分析流程的套路做了些自己喜欢的小项目,期间抓过拉勾网的招聘数据做分析、从NBA官网抓一些球员的技术统计数据做分析以及还有链家杭州二手房的数据分析等等。有人可能会问了,你碰到问题一般怎么解决的呢?最直接的求助方式当然是利用R帮助文档了,解决问题的同时还能锻炼英文,何乐而不为。或者去人大经济论坛、统计之都、CSDN论坛以及Github上去找答案,偶尔也去谷歌一下,毕竟百度太不靠谱。没事的时候就刷刷技术论坛,收获总是有的。去年一年参加过三场中国R会议,5月份的北京人大场、10月份的杭州浙财场以及12月份的上海华师大场,那会儿听得不认真,更多的是去见世面的,想看看那些学界业界大拿们都在用R用数据科学做些什么研究。

到今年三月份的时候,随着毕业的日子临近和之前对数据科学工作的了解,又觉得自己学到的远不足以支撑到找到一份数据挖掘的工作,心底里又开始重新规划,在学习R的同时又追着Python猛一顿捶,后来中间又因为其他事情学习计划中断了好长时间,好在现在又重新捡起来了。期间去面试过几家数据分析与数据挖掘的实习生岗位,就是想了解下他们的职位要求都具体有哪些。回来之后又去补了一段时间的excel和MySQL,中间开始做公众号,算是督促自己学习。今年又报了研究生数学建模竞赛,打算这次比赛好好准备,争取能拿个能看的成绩,因为出去面试的时候发现那些HR们还是很看重这些比赛的含金量的。乱七八糟扯这么多,就是简单说下自己的学习经历,这篇文章既然是讲R语言兵器谱,那下面就进入正文,看看要成为一名数据科学家的R user应该掌握哪些R包呢。

● 2017年值得关注的新包

prophet - 时间序列包。预测精度极高。

● purrr- R语言函数式编程工具。

lintr- 主要用于统计分析。

tensorflow- 大名鼎鼎的TensorFlow也入驻R了,上半年简直是被这个词各种刷屏,但依然没时间去管它。

 R集成开发环境

RStudio- 这个就不说了,天天要用的。

R Commander- 很和谐的GUI,值得一试。

IRKernel- Jupyter的R语言内核,还没去了解。

● R数据处理

dplyr- 这个五星力荐。快速实现对数据框的各种操作和对数据库的查询。这个包应该是每位R user的进阶之包了吧。

data.table- 也是数据操纵的,有一套简短而灵活的语法。

reshape2- 数据重铸、融合、归总等等,简直神器。和dplyr一起玩6了能把数据倒着玩。

stringr- R语言字符串处理包。当初写爬虫的时候各种尝甜头,可以把字符串按在地下摩擦啊。

stringi- 跟stringr很像,具体哪里像用了就知道。

lubridate- 处理时间数据就找这个包。

● 图与可视化

ggplot2- Hadley大神的代表作。据说很多人舍不得从R转向Python都是因为这个包。一套图层式绘图语言,玩6了你也是大神。

lattice- 四大图形系统之一,我只是了解了下并没有真正用过。

misc3d- 3D图画起来很好看。

networkD3- 基于JavaScript的网络图。

Leaflet- 用它画过杭州市地图,交互式绘制地图的代表。

rCharts- 交互式JS绘制表格。

Remap- 交互式动态绘制地图。效果很炫。

wordcloud2- 绘制词云图的。惯用套路是jiebaR分词后词云画一下,初次使用很惊喜。

● R文本排版

knitr- 谢益辉写的用来生成动态报告的。

rmarkdown- R语言动态文档制作工具。做过一次,很好很强大。

● 网络技术与服务

shiny- 听说shiny app做起来很赞,打算近期去试试。

RCurl- R语言爬虫的一种。

rvest- R语言爬虫的另一种。和css选择器结合使用起来简直是结构化网页的杀手!我的第一个R爬虫就是用rvest写的。

XML- 在R中解析和生成XML的,只记得和RCurl放一起用过,有待探索。

Rcpp-CRAN上下载量第一的R包啊,可惜没用过,据说是C语言接口,有待探索。

RMySQL-我的建议是,R和数据库的接口包必须掌握一个,最好的当然就是RMySQL了。

● 数据挖掘与机器学习

DM和ML的R包不可胜数,自己平时常用的是rattle,没其他原因,不用编程!

caret- 分类与回归。最常见的机器学习包。

e1071- 具体有哪些功能没去查,貌似拿来训练过贝叶斯网络。

forecast-计量经济学与时间序列的好东西。

rpart- 决策树。

RSNNS- 神经网络。

xgboost- kaggle上的大杀器,没用过哈哈。

rattle- 最喜欢用的数据挖掘包了,不用写代码。

tm- 文本挖掘包,貌似应该归在自然语言处理里面。

● 优化计算

Ipsolve- 解决运输问题。

Rglpk- 求解线性规划。

Rdonlp2- 求解非线性规划。

goalprog- 求解多目标规划。

●●●

就列到这里吧,全部R包仅在CRAN上发布的足足就有5000多个,每一个包后面都有一篇几十页PDF文档形式的学术论文作为支撑。对于一名R user而言,掌握常见的数据分析与数据挖掘和机器学习包我看应该就够了吧。

一个数据科学践行者的学习日记

长按二维码.关注数据科学家养成记

R语言兵器谱:数据科学家的十八般武艺相关推荐

  1. R语言进行数据聚合统计(Aggregating transforms)计算滑动窗口统计值(Window Statistics):使用R原生方法、data.table、dplyr等方案、计算滑动分组统计

    R语言进行数据聚合统计(Aggregating transforms)计算滑动窗口统计值(Window Statistics):使用R原生方法.data.table.dplyr等方案.计算滑动分组统计 ...

  2. R语言进行数据聚合统计(Aggregating transforms)实战:使用R原生方法、data.table、dplyr等方案、计算分组均值并添加到可视化结果中

    R语言进行数据聚合统计(Aggregating transforms)实战:使用R原生方法.data.table.dplyr等方案.计算分组均值并添加到可视化结果中 目录

  3. R语言dataframe数据列中的缺失值NA的个数统计实战:特定数据列的NA值统计、所有特征的NA值统计

    R语言dataframe数据列中的缺失值NA的个数统计实战:特定数据列的NA值统计.所有特征的NA值统计 目录

  4. R语言将数据列中的多种日期格式统一变化为一种固定格式实战:使用lubridate包中的parse_date_time函数

    R语言将数据列中的多种日期格式统一变化为一种固定格式实战:使用lubridate包中的parse_date_time函数 目录

  5. R语言dataframe数据列格式转换(从整型integer转化为浮点型float)

    R语言dataframe数据列格式转换(从整型integer转化为浮点型float) 目录 R语言dataframe数据列格式转换(从整型integer转化为浮点型float)

  6. 用R语言把数据玩出花样

    用R语言把数据玩出花样 数据处理 R 去重 数据可视化 阅读759  R语言作为统计学一门语言,一直在小众领域闪耀着光芒.直到大数据的爆发,R语言变成了一门炙手可热的数据分析的利器.随着越来越多的工程 ...

  7. r语言数据变量分段_使用R语言实现数据分段

    使用R语言实现数据分段 今天跟大家讲讲我工作中用到的数据分段,数据分段一般在什么地方会使用到呢?评分.之前写过一篇<实战: RFM>模型使用,那篇文章就详细介绍了CRM(客户关系管理)分析 ...

  8. R语言基础数据操作fBasics

    R语言基础数据操作&fBasics xlsx文件的导入 library(readxl) data1 <- read_excel("C:/Users/12241/Desktop/ ...

  9. R语言导入数据文件(数据导入、加载、读取)、使用read.table函数导入逗号分割文件CSV(Comma Delimited Text File)

    R语言导入数据文件(数据导入.加载.读取).使用read.table函数导入逗号分割文件CSV(Comma Delimited Text File) 目录

最新文章

  1. C#调用非托管C++DLL:直接调用法
  2. JDBC 此驱动程序不支持 Java Runtime Environment (JRE) 1.6 版
  3. 性能监测与优化命令free
  4. 8086汇编-实验3-编程、编译、链接、跟踪
  5. 在Windows下编译ffmpeg完全手册
  6. Camera Calibration 相机标定:原理简介(三)
  7. 阿联酋esma认证怎么做_百度爱采购企业认证是怎么做的?这些你要知道!
  8. numpy、cv2等操作图片基本操作
  9. 解扰matlab,数据序列扰乱与解扰MATLAB实现及性能分析—利用m序列.doc
  10. ip地址互转十进制数字(函数)
  11. mysql编译安装root密码_MySQL 5.7.11编译安装以及修改root密码小结
  12. Hive 之 排序和reduce设置
  13. 如果股市出现震荡行情,投资者应如何应对?
  14. php神盾 var 1.54,神盾加密解密教程(一)PHP变量可用字符
  15. Linux入门之磁盘管理(3)文件系统挂载
  16. thinkphp __hash__
  17. oracle数据库sqlloader,初见Oracle SqlLoader工具
  18. 飞机大战素材素材素材
  19. 人人接龙助手,三分钟为你的微信群创建打卡活动
  20. Python实现 excel转Word 工具开发

热门文章

  1. 考研高数 专题13:计算二重积分的方法和技巧
  2. 各品牌笔记本FN功能键大全!IBM,联想,华硕,acer,DELL
  3. 成人学插画如何选培训班
  4. LibSVM MATLAB 使用
  5. 三年半烧掉88亿、4个月市值暴跌7成,“生鲜电商第一股“每日优鲜首份财报不及格
  6. 归档|2022年12月香港转机回国
  7. 【自动化测试】开展自动化测试的过程
  8. 读书与思考(张五常)
  9. 电源拓扑从入门到精通 - 4
  10. 《热爱生命》---汪国真