分析與建模:
Matrix包:先進(jìn)的稀疏矩陣處理采桃,不了解稀疏矩陣概念的時(shí)候內(nèi)存占用和運(yùn)行速度都不忍直視邻遏。
Reshape2/ddply:數(shù)據(jù)處理不用愁。
*apply系列:比f(wàn)or更好用的函數(shù)萝衩,其中tapply遠(yuǎn)不如lapply流行葡兑,但是實(shí)用程度不在其下。實(shí)際上lapply有沒(méi)有變快得看各人的實(shí)現(xiàn)立膛,因?yàn)殡m然lapply調(diào)用了C實(shí)現(xiàn)揪罕,但是它還是要回頭調(diào)用在R里用戶(hù)定義的函數(shù)才能做計(jì)算,這個(gè)函數(shù)速度如何才是關(guān)鍵宝泵。
compiler包:即使代碼里有for也可以加速好啰。
foreach:通用的并行接口,跨平臺(tái)多功能儿奶。
lubridate:處理時(shí)間日期格式不求人坎怪。
gbm:效果和randomForest相近,但是占用內(nèi)存很少很幸福廓握,而且支持多核 CrossValidation 運(yùn)算搅窿。
stats::optim():做優(yōu)化的最傻瓜選擇。不信看這個(gè)三行R代碼做出SVM:weibo.com/1459604443/A3隙券,不懂牛頓法也沒(méi)關(guān)系男应。
報(bào)告與可視化:
knitr/slidify:knitr是 @謝益輝 的代表作。做報(bào)告娱仔、幻燈片 so easy沐飘,但是slidify的作者不喜歡寫(xiě)文檔,所以很頭疼牲迫。
shiny:用R生成Web App耐朴,后端強(qiáng)勁接口統(tǒng)一。例如:hetong.shinyapps.io/img 盹憎。
recharts:在R中方便快捷地生成可交互圖形筛峭,再也不用從R換到j(luò)s了。
其他:
devtools::install_github():脫離CRAN強(qiáng)權(quán)統(tǒng)治陪每,Github讓世界更美好影晓。
base::match():很多情況下比which,is.element不知高到哪里去了檩禾。
utils::read.table():設(shè)置nrows能提前分配內(nèi)存挂签,設(shè)置comment.char=""與colClasses更能加快讀入。
OpenBLAS庫(kù):雖然不是R包盼产,但是多核CPU上對(duì)矩陣運(yùn)算的加速效果實(shí)在是太方便明顯了饵婆,而且Ubuntu上安裝方便,并不需要重新編譯R戏售。
定義啟動(dòng)項(xiàng):如果對(duì)stringsAsFactors永遠(yuǎn)默認(rèn)為T(mén)RUE深痛惡覺(jué)侨核,可以修改Rprofile.site文件草穆,加上每次啟動(dòng)都自動(dòng)運(yùn)行的命令。 @任坤 在評(píng)論中提到:定義啟動(dòng)項(xiàng)比較危險(xiǎn)芹关,不注意的話會(huì)使得代碼的可移植性出現(xiàn)問(wèn)題哦续挟,放到別人電腦上一運(yùn)行發(fā)現(xiàn)各種factor紧卒。
升級(jí)R包:R的版本更迭之后侥衬,可以把老R包復(fù)制到新版本的library目錄下,然后運(yùn)行 update.packages(checkBuilt=TRUE, ask=FALSE) 跑芳,這是官方的提示轴总,放在FAQ里,不知道有多少人留意了:R for Windows FAQ