R語(yǔ)言基礎(chǔ)|關(guān)于包的安裝及debug,install.packages() 那些事

? ? ? 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)按鈕。


點(diǎn)擊“Change”按鈕選擇對(duì)應(yīng)的鏡像

之后運(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ù)?!?/p>


最后的最后,如果以上方法均試過(guò),還報(bào)兼容性錯(cuò)誤,請(qǐng)重啟R, Rstudio還有電腦。真的有效,多次救本人于水火,一定要試試哦~

最后祝大家用R用得越來(lái)越6,學(xué)業(yè)有成

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容