包(Package)是R语言功能的扩展,它是由一系列函数、帮助文档和数据文件组成的文件束,类似于C++中的库或Java中的类。R之所以功能强大,是因为它具有功能丰富的扩展包。如果想要在R中安装已经发布在CRAN上的扩展包,除了前面使用RStudio安装包的方式外,还可使用install.packages)函数完成包的安装。
下面根据不同的应用领域,对R中一些高质量和常用的包进行简单介绍:
1.数据读写
readr:该包能够提供快速友好的方式来读取规则的数据结构(如csv、tsv和fwf格式的)。
readxl:该包能够方便地读取Excel文件。
foreign:该包能够读取和写入其他统计分析软件的文件,如Minitab、S、SAS、SPSS、Stata、Weka等统计分析软件。
haven:该包能够导入和导出SPSS、Stata和SAS等统计分析软件的文件。R.matlab:该包可以读写mat文件并从R内部调用MATLAB。
imager:该包提供了众多传统的图像处理函数(过滤、形态、转换等),能够让R轻松分析图像数据。
2.数据处理
VIM:该包提供多种可视化数据缺失值的方式,以及多种填补数据缺失值的方法。
Hmisc:该包含有许多数据分析、高级可视化图像、变量聚类、数据框处理等分析方法的函数。
mice:该包提供缺失值多重插补的函数。
dplyt:该包提供处理数据的快速、一致的解决方法,常用于数据框等对象,主要用于数据清洗和整理。
tidyr:该包专门为数据整理而设计,常和dplyr包配合使用。
stringr:该包包含多种字符串处理的函数,使用非常方便。
3.数据可视化(各类SCI期刊用图首选)
ggplot2:该包使用图形语法来创建优雅的数据可视化图像。它提供了多种绘图单元,是R中数据可视化常用、简单、高效的可视化包。(下图就来自ggplot2包)
gridExtra:该包提供了许多用户级函数来处理“网格”图形,特别是在一幅图像页面上排列多个基于网格的子图,方便网格数据可视化。
GGally:该包是基于ggplot2图形语法的拓展绘图系统,有矩阵散点图、平行坐标图、生存图以及绘制网络图像的若干函数。
gganimate:该包是基于ggplot2的拓展包,主要用于绘制动态图等。
treemap:该包主要用于树形图的可视化处理,树形图是层次结构的空间填充,该包为绘制树图提供了简便快捷的方法。
d3heatmap:该包可用于可交互的热力图可视化。
maps:该包主要用于地图数据可视化。
leaflet:该包使用JavaScript的Leaflet库创建交互式Web地图。
igraph:该包用于图形可视化和网络分析,可以很好地处理大型图形,并提供生成随机和常规网络可视化图像的方法。
plotly:该包可以轻松地将ggplot2图形转换为基于Web的交互式图像。
wordcloud2:该包是一种快速的可交互可视化图像绘制工具,常用于词云的可视化。
ggcorplot:该包基于ggplot2包来轻松可视化相关矩阵。
ggfortify:该包是用于统计分析结果的可视化包。
4.统计分析
MVN:该包包含单变量和多变量正态性检验的方法。
psych:该包是心理测量理论和实验心理学的通用工具箱,主要用于因子分析、主成分分析、聚类分析、可靠性分析等模型的构建,同时还提供了基本的描述性统计功能。
ved:该包主要用于分类数据的可视化与分析。
car:该包含有一些分析方法函数,常与回归分析的相关包一起使用。
glmnet:该包提供Lasso、弹性网等广义线性回归模型的函数。
cluster:该包是R中常用的聚类分析包。
fpc:该包是灵活的聚类分析包,提供了多种聚类分析方法的函数和可视化方法,如DBSCAN聚类等。
ca:该包常用于对应分析及其可视化。
CCA:该包是典型相关分析包。
candisc:该包是可视化广义典型判别和典型相关分析包。
arules:该包常用于频繁项集和关联规则分析。
arulesViz:该包常用于可视化arules包得到的关联规则等。
tseries:该包是时间序列分析及计算金融包。
zoo:该包定义了一个名为zoo的S3类型对象,用于描述规则和不规则的有序时间序列数据,是常用的时间序列分析包。
forecast:时间序列和线性模型的预测函数,常用于ARIMA等时间序列模型。
5.机器学习
caret:该包主要用于训练和可视化回归模型与分类模型。
Metrics:该包主要用于方法性能的评估和度量,可实现回归、时间序列、二分类、多分类、信息检索等问题的性能度量。
ROCR:该包用于可视化和评估分类器性能,如可视化ROC曲线等。rpart:该包包含决策树分类、回归和生存分析等方法。
rpart.plot:该包主要用于将rpart包得到的决策树等结果进行可视化。randomForest:该包主要使用随机森林进行分类和回归分析。
tm:该包提供了文本挖掘中的综合处理功能,如数据载入、语料库处理、数据预处理、元数据管理、建立“文档-词项”矩阵等。
jiebaR:该包主要用于中文分词,以及建立“文档-词项”矩阵等。常用于中文文本挖掘的数据预处理阶段。
parallel:在R中提供并行计算的包。
lda:该包主要实现了LDA主题模型及其相关模型。
LDAvis:该包主要是将lda包得到的主题模型可视化为可交互式图像。text2vec:该包是快速且内存友好的文本分析工具,用于文本向量化,主题建模(LDA、LSA),单词嵌入等模型的应用。
e1071:该包是包含众多算法的机器学习包,如支持向量机、聚类分析、朴素贝叶斯等。
DMwR:该包包含众多使用R进行数据挖掘的数据和函数。
RSNNS:斯图加特神经网络模拟器(SNNS)是一个包含许多神经网络标准实现的库,RSNNS包装了SNNS功能,使其可以在R内部使用。
neuralnet:该包是常用的神经网络模型分析包,实现了多种网络结构的神经网络模型,使用时非常方便。
NeuralNetTools:该包主要是用于将neuralnet包得到的结果进行可视化等。h2o:该包是可扩展的开源机器学习平台,提供许多有监督和无监督机器学习算法的并行实现,如广义线性模型、梯度提升机、随机森林、深度神经网络(深度学习)等。
keras:该包是非常简单易用的深度学习包,它能够以TensorFlow等深度学习框架作为后端运行,提供高级神经网络API。
有些好用的R语言扩展包是发布在Github上的,若想使用这些包可通过devtools包提供的工具进行安装。
install.packages("devtools")
library(devtools)
devtools::install_github('thomasp85/gganimate')
library(gganimate
特别申明:本文为转载文章,转载自知乎,不代表贪吃的夜猫子立场,如若转载,请注明出处:https://zhuanlan.zhihu.com/p/556597606