常用R語言包介紹
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裡面有很多冷門的包,也很好用滴~
如果有任何演算法、程式碼疑問都歡迎通過公眾號發訊息給我哦,已經給你們準備好資料大禮包了。