ggplot2 高级绘图,一套统一的语法实现复杂图像组合绘制
zoo 时间序列数据的预处理,比如滚动平均等等
rmarkdown 用Markdown写文档并可方便地运行R代码与绘图
knitr 自动文档生成
devtools 扩展包开发必备,在线安装托管的扩展包,检查扩展包是否符合CRAN标准等等!
1. 列出包所在库的路径.libPaths()
[1] "C:/Program Files/R/R-3.0.2/library"
2. 安装包,括号里面包的名称要加英文引号,在列出的CRAN镜像站点列表中选择一个进行下载,我一般选的是China(Hefei)
install.packages()
例如,install.packages("ggplot2")
3. 包的载入library()或require(),安装完包后,需要加载才能使用其中的函数,此时括号中不使用引号。两者的不同之处在于library()载入之后不返回任何信息,而require()载入后则会返回TRUE,因此require()适合用于程序的书写。
例如
library(ggplto2)
>require(foreign)
Loading required package: foreign
>is.logical(require(foreign))
[1] TRUE
4. 包的更新
update.packages()
5. 包的帮助信息 格式如下,可以查看包中的函数以及说明
help(package="ggplot2")
6. 查看本地的包
6.1 查看默认加载的包,忽略基本的包
getOption("defaultPackages")
>getOption("defaultPackages")
[1] "datasets" "utils" "grDevices" "graphics" "stats" "methods"
[7] "ggplot2"
6.2 查看当前已经加载过的包
(.packages())
[1] "ggplot2" "stats" "graphics" "grDevices" "utils" "datasets" "methods" "base"
6.3 要显示所有可用的包
(.packages(all.available=TRUE))
>(.packages(all.available=TRUE))
[1] "abind" "agricolae" "aplpack" "base" "bitops"
[6] "boot" "car" "caTools" "class" "cluster"
[11] "codetools" "colorRamps" "colorspace" "compiler" "datasets"
[16] "Defaults" "devtools" "dichromat" "digest" "doBy"
[21] "e1071" "effects" "ellipse" "evaluate" "foreign"
[26] "formatR" "Formula" "gdata" "ggplot2" "ggthemes"
[31] "gmodels" "gplots" "graphics" "grDevices" "grid"
[36] "gtable" "gtools" "highr" "Hmisc" "httr"
[41] "KernSmooth" "knitr" "labeling" "lattice" "latticeExtra"
[46] "leaps" "lme4" "lmtest" "LSD" "manipulate"
[51] "markdown" "MASS" "Matrix" "matrixcalc" "memoise"
[56] "methods" "mgcv" "minqa" "multcomp" "munsell"
[61] "mvtnorm" "nlme" "nnet" "nortest" "parallel"
[66] "pixmap" "plyr" "proto" "psych" "quantmod"
[71] "Rcmdr" "RColorBrewer" "Rcpp" "RcppEigen" "RCurl"
[76] "relimp" "reshape2" "rgl" "rJava" "RODBC"
[81] "rpart" "rstudio" "samplesize" "sandwich" "scales"
[86] "schoolmath" "sciplot" "sem" "spatial" "splines"
[91] "stats" "stats4" "stringr" "survival" "tcltk"
[96] "tcltk2" "TH.data" "tools" "TTR" "utils"
[101] "VennDiagram" "whisker" "XLConnect" "xts" "zoo"
7. 卸载包detach(),这是library()的反向操作,此操作主要是为了避免某些包中的函数名称相同,造成冲突,注意与library()的参数不同,detach()参数为detach(package:包的名称),library(包的名称)。
例如
>library(ggplot2) #加载包
>(.packages()) #列出当前已经加载的包
[1] "ggplot2" "stats" "graphics" "grDevices" "utils" "datasets"
[7] "methods" "base"
>detach(package:ggplot2) # 卸载ggplot2包
>(.packages()) #列出当前已经加载的包
[1] "stats" "graphics" "grDevices" "utils" "datasets" "methods"
[7] "base"
8. 自定义启动时候的加载包
如果需要长期使用某个包的话,每次开启都需要输入library(),比较麻烦,因此可以让R启动时自动加载某些包。在R的安装目录/etc/Rprofile.site加入下载语句:
例如让R启动时自动加载ggplot2包
local({old <- getOption("defaultPackages")
options(defaultPackages = c(old, "ggplot2"))})
9. 在文章中引用R软件包,例如引用ggplot2包:
citation(package="ggplot2")
To cite ggplot2 in publications, please use:
H. Wickham. ggplot2: elegant graphics for data analysis. Springer New
York, 2009.
A BibTeX entry for LaTeX users is
@Book{,
author = {Hadley Wickham},
title = {ggplot2: elegant graphics for data analysis},
publisher = {Springer New York},
year = {2009},
isbn = {978-0-387-98140-6},
url = {http://had.co.nz/ggplot2/book},
}
R和Python两者谁更适合数据分析领域?在某些特定情况下谁会更有优势?还是一个天生在各方面都比另一个更好?
当我们想要选择一种编程语言进行数据分析时,相信大多数人都会想到R和Python——但是从这两个非常强大、灵活的数据分析语言中二选一是非常困难的。
我承认我还没能从这两个数据科学家喜爱的语言中选出更好的那一个。因此,为了使事情变得有趣,本文将介绍一些关于这两种语言的详细信息,并将决策权留给读者。值得一提的是,有多种途径可以了解这两种语言各自的优缺点。然而在我看来,这两种语言之间其实有很强的关联。
Stack Overflow趋势对比
上图显示了自从2008年(Stack Overflow 成立)以来,这两种语言随着时间的推移而发生的变化。
R和Python在数据科学领域展开激烈竞争,我们来看看他们各自的平台份额,并将2016与2017年进行比较:
相关推荐:《Python入门教程》
接下来我们将从适用场景、数据处理能力、任务、安装难度以及开放工具等方面详细了解这两种语言。
适用场景
R适用于数据分析任务需要独立计算或单个服务器的应用场景。Python作为一种粘合剂语言,在数据分析任务中需要与Web应用程序集成或者当一条统计代码需要插入到生产数据库中时,使用Python更好。
任务
在进行探索性统计分析时,R胜出。它非常适合初学者,统计模型仅需几行代码即可实现。Python作为一个完整而强大的编程语言,是部署用于生产使用的算法的有力工具。
数据处理能力
有了大量针对专业程序员以及非专业程序员的软件包和库的支持,不管是执行统计测试还是创建机器学习模型,R语言都得心应手。
Python最初在数据分析方面不是特别擅长,但随着NumPy、Pandas以及其他扩展库的推出,它已经逐渐在数据分析领域获得了广泛的应用。
开发环境
对于R语言,需要使用R Studio。对于Python,有很多Python IDE可供选择,其中Spyder和IPython Notebook是最受欢迎的。
热门软件包和库
下面罗列了R和Python推出的针对专业以及非专业程序员的最热门的软件包和库。
R:针对专业程序员的热门软件包
用于数据操作的 dplyr、plyr和 data table
用于字符串操作的 stringr
定期和不定期时间序列 zoo
数据可视化工具 ggvis、lattice 和 ggplot2
用于机器学习的 caret
R:针对非专业程序员的热门软件包
Rattle
R Commander
Deducer
这些完整的GUI包可以实现强大的数据统计和建模功能。
Python:针对专业程序员的热门库
用于数据分析的 pandas
用于科学计算的 SciPy 和 NumPy
用于机器学习的 scikit-learn
图表库 matplotlib
statsmodels 用来探索数据,估算统计模型,并执行统计测试和单元测试
Python:针对非专业程序员的热门库
Orange Canvas 3.0是遵循GPL协议的开源软件包。它使用一些常用的Python开源库进行科学计算,包括numpy、scipy和scikit-learn。
R 和 Python 详细对比
正如本文开头提到的,R和Python之间有很强的关联,并且这两种语言日益普及。很难说哪一种更好,它们两者的整合在数据科学界激起了许多积极和协作的波澜。
总结
事实上,日常用户和数据科学家可以同时利用这两者语言,因为R用户可以在R中通过 rPython包来运行R中的Python代码,而Python用户可以通过RPy2库在Python环境中运行R代码。