怎麼記住r語言這麼多包?

一會library(data.table) 一會又載入e1071的,頭大

在計算機語言上,你們有整理筆記的習慣嗎


謝邀。

一般來說,想要徹底記住一個包中的函數,都是通過頻繁使用和練習做到的。否則一般都是現查,R就算比較友好了,像python裡面函數和屬性就更多了,是不可能一次全部記住的。自己做一些筆記也是有用的,主要是降低現查的時間成本,比如我寫了一些R語言方面的文章,其實也是為了自己備查。

此外,我可以稍微講一下臨檢索的技巧,假如你想要實現某個功能,比如random forest、MLE,這時你可以做以下幾步:

1. 在google上(不翻牆用bing等)搜 「random forest in R」,「MLE in R」,然後就可以看到一些函數或者包的推薦的網頁。比如說,我們搜到了一個網頁告訴我們randomForest這個包可以實現random forest演算法。

2. 為了了解更多,我們可以接著搜「randomForest cran」去看它的官方主頁和文檔,也可以再搜 「R randomForest tutorial 」去查看教程等等。

3. 如果在一些函數的一些細節文檔講的不是很清楚以至於讓你很費解,或是出現了報錯,你可以直接去檢索錯誤信息,一般stackoverflow上都會有的。


如果你覺得太長不想看,那就記得 @Yan He 同學說的R裡面有caret,python裡面用sklearn

常用檢驗函數:

常用作圖函數包:

ggplot2:萬能

rattle:fancyRpartPlot函數,決策樹畫圖函數

連續分類回歸模型:

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協調過濾

降維演算法:

psych包prcomp函數、factanal函數

上面只是簡單羅列了一些,更多:R開發:常用R語言包介紹


謝邀#^_^#,兩個網站,一個是Awesome R,把大量R常用包做了歸類; 另一個叫R Documentation,可以根據函數或關鍵詞查找哪些可用的R包。

ps: R現在有上萬個包,各種package編寫的風格不一,各種函數命名也千奇百怪,對於包的管理是一個大問題,如果能解決好會給R user帶來極大便利,貌似Rstudio公司也在考慮解決這個問題:)


最常用的幾個包用多了自然會記住,我想大多數人的問題是:如何去搜索自己需要的包?

比如當你想做貝葉斯統計方面的研究時,如果你能找到所有關於bayes的包和它們的幫助文檔(包括函數說明,例子等等),那豈不是美哉?

其實有些回答已經提供了一些包的整理網站,但是我相信最完整的答案還是R的官網(The R Project for Statistical Computing)。沒錯,在R的官網上已經有根據各個話題統計出來的R包列表,這說明經常逛官網是會有驚喜的...

隨便進入一個下載頁面,點最下方package

在此頁面上點CRAN Task View

可以看到目前有35個大類,像貝葉斯,聚類,計量,金融等方面的,隨便點個Bayesian看看

裡面再次對package分小類,並且按不同功能來區分,比如是一般模型擬和還是其他。每個包後都跟有一個簡短的說明,讓你明白它具體是幹嘛的。

如果點擊某個具體的package,可以看到這個包的發布信息。最重要的是,在最下面的Reference manual 還能下載這個包的幫助文檔

而幫助文檔可以說是非常詳細了

R的世界雖大,可已經任你遨遊了:)


1.推薦一個網站R Packages,可以用關鍵字查包,還有每個包的函數。

有時候,可能需要搜索網站和這個網站結合來用。

2. 就是用Rstudio, 直接可以看有哪些包,有解釋有說明。


謝邀。

R語言經過這麼多年的發展,包已經多的浩如煙海了,也不可能記住每個包能幹啥。我沒有記筆記的習慣,因為常用的包其實也就那麼幾個。要用到什麼新功能時,最好的助手就是谷歌了。舉個大家喜歡的支持向量機(support vector machine)的例子:

基本上看到cran開頭的網站,就知道這是個R的包了(e1071)。如果是一些別的網站,也基本上都是在教你怎麼在R里做svm的。


我一個寫py不曉得有沒有資格回答這個問題,寫py時庫太多我也記不住,一般都是一邊看文檔一邊寫,用的多了就熟練了


多閱讀一些像R Blogger這樣的網站,提升自己的知識面。同時都做總結,R里很多包都是針對特定的場景下,記住常用的那些包Awesome-R總結的很全面。主要是以下方面

1. 數據處理

2.可視化

3.模型

4.工具


碰到不會google

碰到報錯stack overflow

好了你已經入門了


這麼多包我也記不住,所以只記一些常用的,其他大多數都是記錄在一個文本文檔裡面,包的名字,大致的函數用法什麼的,要用的時候隨時查閱,或者直接複製粘貼。

當然,要做好備份。


一般常用的R包不超過20個,如果是用R吃數據挖掘這碗飯的,業務天天做不出一個月就記下來了。其他的有bing的英文版和stack overflow就夠了;平時多看看技術分享和r blogger,journal of statistical software, github R的排行榜這類的,增廣見聞,提升界定/描述問題的能力。相信我,大部分找不到答案的原因都是沒問對問題。


推薦閱讀:

如何利用 R 語言來獲得某個具體地址的經緯度?
為什麼不能亂點技能樹?
有 Memory Segmentation 和 Paging 等技術時,C/C++,Pascal 等低級語言中對內存布局的控制意義何在?
FPGA和嵌入式有哪些區別於聯繫?
對做黑客感興趣該從什麼起步,怎樣發展?

TAG:編程語言 | R編程語言 |