我把程序包分為三類,第壹種是功能增強型,比如zoo和ggplot2,他們的功能原本可以用繁瑣的代碼實現,但是使用這些包可以實現的更快或者更好;第二種是統計建模型,專門為某個統計領域或模型而做的包,小到wavelet這種專門做小波分解的包,大到TSA這種所有經濟類專業都用的時間序列包都屬於這壹類。第三種是特定功能型,這種包壹般非常小眾,比如分解和制造音頻的tuneR(可以用它來聽股票價格的白噪聲哦),再比如我自己寫的用於dota2選人的RDota(R版本更新以後已經不能用了暫時懶得更新),這種包壹定是要麽很專業要麽很娛樂,不太需要學習“R”,而是這個功能本身,這壹類都不屬於下面討論的範疇。
如何選擇自己需要的程序包?
對於功能增強型包,我認為值得系統學習的只有ggplot2,其他的包應該是什麽時候用到,或者什麽時候見到,就什麽時候學。比如妳需要處理時間序列了就會用到zoo,或者妳上網課看到了什麽特定的功能很不錯,就留個印象,什麽時候需要了再回去翻。再比如妳工作的時候覺得R慢,想知道怎麽提高R的效率,去谷歌壹下"how to improve computing performance in R",就會搜到CRAN官方給出的壹片文章CRAN Task View: High-Performance and Parallel Computing with R
所以,見到什麽就記,需要什麽就搜就可以了,如果妳按照R包下載量前10的包壹個壹個學,妳可能其中90%的功能都用不到(沒錯就是90%,因為每個包裏都有很多犄角旮旯妳用不到的功能)。
ggplot2實在是太強大了,用熟悉以後哪怕是在matlab裏寫的程序我也把數據調到R裏畫圖,然而這個包很復雜,從幫助文件裏妳很難快速上手,因此需要系統學習。