? ? ? R語(yǔ)言的一大優(yōu)勢(shì)悴侵,是可以整合功能豐富的各種函數(shù)集合,也就是“包”(package)拭嫁。但由于R的高度自由性可免,各種版本的包之間有可能會(huì)有兼容問(wèn)題,導(dǎo)致各種bug層出不窮做粤,令人頭禿
? ? ? 本文總結(jié)了個(gè)人使用R的過(guò)程中遇到的一些安裝包的問(wèn)題及解決辦法浇借,希望對(duì)廣大學(xué)子有所幫助
包(package)的安裝方法及debug
1)從官方服務(wù)器CRAN下載:
首先檢查CRAN的鏡像是否正確:在Rstudio中選擇Tools-->Global Options-->Packages選項(xiàng)中的CRAN mirror。點(diǎn)擊Change按鈕修改到中國(guó)的鏡像(此處推薦清華鏡像)怕品,修改后點(diǎn)擊確認(rèn)按鈕妇垢。
之后運(yùn)行代碼:
install.packages("package_name")
"package_name"中填寫(xiě)包的名字,必須有引號(hào)
這一步最常見(jiàn)的報(bào)錯(cuò):
package ‘package_name’ is not available (for R version 3.6.1)?
出現(xiàn)這條信息肉康,說(shuō)明沒(méi)有安裝上闯估。
①首先檢查有沒(méi)有連網(wǎng),有沒(méi)有拼寫(xiě)錯(cuò)誤吼和,有沒(méi)有忘加引號(hào)涨薪。
②確保網(wǎng)絡(luò)連接的情況下,可以換一個(gè)CRAN鏡像炫乓,如果中國(guó)的鏡像不行刚夺,就改成國(guó)外的。
③如果因?yàn)榘姹締?wèn)題不能安裝末捣,比如這個(gè)包是基于R 2.5制作的侠姑,可能在R 3.6中不能直接安裝。那么就需要手動(dòng)去cran上下載安裝包(一般是.tar.gz結(jié)尾的)箩做,運(yùn)行.libPaths()函數(shù)查詢library的儲(chǔ)存路徑莽红,解壓后把對(duì)應(yīng)名字的文件夾直接復(fù)制進(jìn)library。
步驟③中的安裝也可以通過(guò)Rstudio菜單欄中Tools-->install packages-->選擇本地文件完成安裝邦邦。
④如果安裝成功安吁,但加載時(shí)提醒有個(gè)別內(nèi)置包版本不夠,例如:
warning message: 程輯包‘xxx’是用R版本3.2.1來(lái)建造的
可以先忽略圃酵,如果所需函數(shù)不能正常調(diào)用柳畔,再用步驟③的方法安裝對(duì)應(yīng)的內(nèi)置包。
【ps. R包在大版本號(hào)(第一個(gè)“.”前的符號(hào))中一般是向下兼容的郭赐,但大版本間不兼容——eg. 3.6.3版本的R程序薪韩,兼容基于3.4.2版本制作的包确沸,但不兼容基于2.5.2版本制作的包】
2)從github上安裝包:
? ? ? github上有很多大神自己寫(xiě)的功能非常豐富的包,例如做PCA的ggbiplot俘陷,給分面圖設(shè)置自定義坐標(biāo)范圍的facetscales等罗捎。
安裝方法:
①先安裝devtools 包,再裝對(duì)應(yīng)的Github包拉盾。這種方法需要知道作者的Github ID如下"zeehio"是“facetscales”的作者
install.packages("devtools")
library(devtools)
devtools::install_github("zeehio/facetscales")
devtools::install_github("vqv/ggbiplot")
安裝后就和別的包一樣用library()加載
②不用以上方法的話桨菜,也可以用githubinstall包直接安裝
install.packages("githubinstall")
library(githubinstall)
install_github("facetscales")?
3) “乾坤大挪移”法
這個(gè)方法針對(duì)怎么都沒(méi)法裝包的情況:
先從CRAN或Github下載包的壓縮包(CRAN里一般是.tar.gz格式,Github一般是ZIP格式)捉偏,解壓后找到文件夾下名稱為“R”的文件倒得,里面的.R文件(就是R的腳本文件)包含其中所有函數(shù)的代碼,用文本瀏覽器或Rstudio打開(kāi)夭禽,運(yùn)行一次霞掺,定義里面的函數(shù),就能自己瀟灑調(diào)用了~
Github里的代碼展示更為人性化讹躯,只要找到包所對(duì)應(yīng)的R文件夾菩彬,可以直接復(fù)制網(wǎng)頁(yè)版的代碼運(yùn)行,“白嫖”代碼成功~
【ps. 這里補(bǔ)充一個(gè)知識(shí)點(diǎn)潮梯,R包不是啥神秘的東西骗灶,它們也是一個(gè)個(gè)函數(shù)的組合,只是打包的“一堆函數(shù)”秉馏,所以上面這步的操作其實(shí)是繞過(guò)install這一步耙旦,自己去運(yùn)行并且定義包里面的函數(shù)∥秩模】
最后的最后母廷,如果以上方法均試過(guò),還報(bào)兼容性錯(cuò)誤糊肤,請(qǐng)重啟R, Rstudio還有電腦。真的有效氓鄙,多次救本人于水火馆揉,一定要試試哦~
最后祝大家用R用得越來(lái)越6,學(xué)業(yè)有成