1.4 常用包及包的安装、使用与卸载
R包是函数、数据和文档的集合,是对R基础功能的拓展。只有学会如何使用R包,才能真正掌握R语言的精华。使用R语言的过程可以用一句话来描述:用别人的包讲自己的故事。
在安装R的过程中,会自动安装一系列默认包,它们提供了基础的默认函数和数据集。这些包的功能远远无法满足我们的需求,这时我们就需要手动安装一些包。这些包安装好以后,需要通过library()命令载入到会话中才能使用。当你想知道哪些包已加载并可使用,可以使用(.packages())命令。
1.4.1 熟练掌握R语言的10+1包
本书对数据分析常用的包进行了汇总,整理出了以下比较重要的10+1个包供读者参考:
数据读写:readr和readxl包
readr包:把不同格式的数据读入R中,比传统方法快十倍的速度,字符型变量还不会被转化为因子型变量(read.csv等读入时需要加上),如果数据载入时间超过5秒,函数还会显示进度条,支持读入分隔符文件(如用read_csv()读入CSV格式文件),逐行读入TXT文本文件(用read_lines()函数读取),固定宽度文件(用read_table()读入表格类文件),网络日志文件(read_log()函数读入日志文件)。
readxl包:如果读入EXCEL文件,首选用这个包,近40万条数据,几秒就读入内存。
上面两个包都是用C++写成,一次读入的数据越多,优势越明显。
数据预处理与重塑:reshape2、dplyr和tidyr、data.table
reshape2,这个包主要功能是对数据格式重塑,两个常用函数melt()和cast()。
dplyr,hadley开发的做数据处理的包,功能强大而又实用,主要解决基于数据集的各类dataframe输出,可以说是R语言数据处理必学神器。
tidyr,同上,是对reshape2的升级。
data.table,比dplyr包更高效处理数据的常用包,尤其是在数据集很大的情况下实用,处理速度甚至超过python里的pandas,建议经常处理几百万条以上数据的人员认真掌握(有人试验过,1000多万条,近2G的数据,1分钟就读入内存),建议阅读http://blog.csdn.net/sinat_26917383/article/details/52911734 和 https://zhuanlan.zhihu.com/p/22317779。
日期处理:lubridate包
- lubridate,这个包主要处理日期和时间类的数据。
可视化展现:DT、ggplot2、recharts包
DT包,当需要以表格形式展现一部分数据集或数据分析结果时,DT包是较好的呈现方式。
ggplot2包,这个包基本就是R语言可视化的代言词,功能强大,学习也需要些时间,建议与ggthemes包一起使用
recharts包,这个包是对百度echarts2的封装,即便不会Javascript,也能在R语言中完成各种商业级图表的绘制。详细使用见:http://madlogos.github.io/recharts/index_cn.html#-en
学术研究表格展现:+1包,stargazer包
- stargazer包是经管类学术研究常用的一个分析结果展现表格,由Havard大学学者开发,方便回归分析、面板数据分析等十多种数据分析结果的出版级表格呈现,可以html、Latex或txt形式输出。对于写定量型学术论文的人士大有帮助。
1.4.2 安装R包
R语言包的来源一般有两种:分布在世界各地的CRAN镜像以及github网站。
安装CRAN上的包可以使用install.packages(‘NAME’)命令,NAME是你所需要安装的包的名称。例如:
install.packages('ggplot2')
对于托管在github网站上的包,则先要通过install.packages(‘devtools’)命令安装devtools包,之后通过devtools自带的函数install_github()进行包的安装。例如:
::install_github('yihui/knitr') devtools
当然也可以手动将包下载到本地进行安装,这种方式在本书中就不做介绍,请读者自行探索。
输入命令library(ggplot2),对ggplot2这个包进行加载,就可以使用ggplot2这个包开始R语言的探索学习了。