r与python差异比较大的一个地方就是,python的机器学习算法集中程度比较高,比如sklearn,就集成了很多的算法,而R语言更多时候需要一个包一个包去了解,比较费时费力,对于python转过来的朋友非常不友好,抽空整理了工作中常用的R包如下:
常用检验函数:
基本上分布中常见的都罗列了:
常用作图函数包:
ggplot2:万能,基本上excel能画的图它都能画
rattle:fancyRpartPlot函数,决策树画图函数
基础包函数:barplot、pie、dotchart、hist、densityplot、boxplot、contour等等
正态检验:qqplot、qqline、qqnorm
连续分类回归模型:
stats包 lm函数,实现多元线性回归;glm函数,实现广义线性回归;nls函数,实现非线性最小二乘回归;knn函数,k最近邻算法
rpart包 rpart函数,基于CART算法的分类回归树模型
randomForest包 randomForest函数,基于rpart算法的集成算法
e1071包 svm函数,支持向量机算法
kernlab包 ksvm函数,基于核函数的支持向量机
nnet包 nnet函数,单隐藏层的神经网络算法
neuralnet包 neuralnet函数,多隐藏层多节点的神经网络算法
RSNNS包 mlp函数,多层感知器神经网络;rbf函数,基于径向基函数的神经网络
离散分类回归模型:
stats包 glm函数,实现Logistic回归,选择logit连接函数
kknn包 kknn函数,加权的k最近邻算法
rpart包 rpart函数,基于CART算法的分类回归树模型
adabag包bagging函数,基于rpart算法的集成算法;boosting函数,基于rpart算法的集成算法
party包ctree函数,条件分类树算法
RWeka包OneR函数,一维的学习规则算法;JPip函数,多维的学习规则算法;J48函数,基于C4.5算法的决策树
C50包C5.0函数,基于C5.0算法的决策树
e1071包naiveBayes函数,贝叶斯分类器算法
klaR包NaiveBayes函数,贝叶斯分类器算分
MASS包lda函数,线性判别分析;qda函数,二次判别分析
聚类:Nbclust包Nbclust函数可以确定应该聚为几类
stats包kmeans函数,k均值聚类算法;hclust函数,层次聚类算法
cluster包pam函数,k中心点聚类算法
fpc包dbscan函数,密度聚类算法;kmeansruns函数,相比于kmeans函数更加稳定,而且还可以估计聚为几类;pamk函数,相比于pam函数,可以给出参考的聚类个数
mclust包Mclust函数,期望最大(EM)算法
关联规则:arules包apriori函数
Apriori关联规则算法
recommenderlab协调过滤
DRM:重复关联
ECLAT算法: 采用等价类,RST深度搜索和集合的交集: eclat
降维算法:
psych包prcomp函数、factanal函数
时序分析:
ts时序构建函数
timsac包时序分析
holtwinter包时序分析
decomp、tsr、stl成分分解
zoo 时间序列数据的预处理
统计及预处理:
常用的包 Base R, nlme
aov, anova 方差分析
density 密度分析
t.test, prop.test, anova, aov:假设检验
rootSolve非线性求根
reshape2数据预处理
plyr及dplyr数据预处理大杀器
最后剩下常用的就是读入和写出了:
RODBC 连接ODBC数据库接口
jsonlite 读写json文件
yaml 读写yaml文件
rmakdown写文档
knitr自动文档生成
一般业务中使用比较多的就是上面这些了,当然R里面有很多冷门的包,也很好用滴~