一、數據可視化
ggplot2
ggplot2是最常用、最受用戶們喜愛的作圖工具包了,被譽為數據作圖的標杆。它做出的圖不僅漂亮,而且可以涵蓋很多複雜的信息。網上也有大量關於它的教程,學習資源很豐富。
gridExtra
ggplot2的一個缺點就是不能像自帶的graphics基礎包那樣,把幾張圖拼成一組圖。而gridExtra就可以解決這個問題,把ggplot2做出來的漂亮的圖組織到一張大圖裡。
lattice
lattice經常被拿來和ggplot2相提並論,這兩者也是選擇困難戶的糾結點。ggplot2做出來的圖更漂亮,但它入門難啊~lattice則適合入門選手,作圖速度較快,還能進行三維繪圖,這是ggplot2不具備的。
二、統計分析
lme4 (或者nlme)
如果你常做一些複雜的數據,實驗分了好幾個層,有好多亞組,亞組下面還有亞亞組,比如要做好幾種細胞,檢測好幾個指標,每個指標還有不同的觀察時間點……此時lme4包就可以比較輕鬆地把這些數據組織起來。nlme也一樣,選一個就好。
forecast
比較適合分析時間序列數據。
zoo
forecast裡有很多好用的內置函數,但有時候還需要更簡單易用的計算移動平均、移動標準差的函數,這時zoo會是個很好的補充。
spatstat
空間分析神器,比如某種疾病發病率在地理空間上的分布特徵等等。
三、數據整理
dplyr
dplyr可以很好地把數據隨意分解、整合。這個包可能也比較難上手,但熟悉之後,就像老司機開車一樣形成本能。
四、生物信息學
Bioconductor
對於做基因組或晶片分析、陣列、基因流等等的小夥伴,Bioconductor是個好選擇。它還有個很活躍的用戶社區,可獲得及時反饋,每年更新2次,還有豐富的學習資源,比如http://www.bioconductor.org/help/course-materials/這裡的一系列教程。
五、展示
knitr
雖然一開始說到的數據可示化也是展示的一種,但這裡要說的是,通過更豐富的方式來展示其他多種內容。除了數據分析成果,還有分析過程中各種代碼、運行過程、文本說明等,都可以通過knitr生成網頁、PDF、幻燈片等形式展示出來。比較適用於教學、報告等場合。
shiny
shiny包也像knitr一樣可以做出漂高的網頁,此外還可以快速搭建動態的交互網頁App。它一大優勢就是不需要學習其他網頁程式語言(CSS、JS等),純靠R。
stringr
字符串處理神器。可在作圖、網頁編輯、數據清洗等操作中起到很好的輔助作用,對字符串進行拼接、匹配、變換等。
以上都是一些比較出名、經常用到的包,尤其是ggplot2、lattice和dplyr,可以先裝上以備不時之需。但偶爾還會要用到一些函數,不在你安裝過的包裡,而且還不知道在哪個包,怎麼辦?就是在Packages選項卡旁邊的Help裡搜索,返回的結果中看到「一串字母::你搜的函數」,前面那串字母就是包的名字啦,比如這個Kest函數就是在spatstat包裡,下載、安裝、載入就可以用了~
參考資料:
My 10 Favorite R Packages and the Cool Things You Can Do with Them