最近經(jīng)常出現(xiàn)一個(gè)錯(cuò)誤,類似于package ‘a(chǎn)irway’ is not available (for R version 3.1.0) 就是某些包在R的倉(cāng)庫(kù)里面找不到,這個(gè)錯(cuò)誤非常普遍,stackoverflow上面非常詳細(xì)的解答: http:///questions/25721884/how-should-i-deal-with-package-xxx-is-not-available-for-r-version-x-y-z-wa 在閱讀這個(gè)答案的時(shí)候,我發(fā)現(xiàn)了一個(gè)非常有用的函數(shù)!available.packages()可以查看自己的機(jī)器可以安裝哪些包!
R語言里面的包其實(shí)是很簡(jiǎn)單的,因?yàn)樗詭Я艘粋€(gè)安裝函數(shù)install.packages()基本上可以解決大部分問題! 但是如果出問題也是蠻復(fù)雜的,因?yàn)橐紤]的東西很多: - 首先你的R語言安裝在什么機(jī)器什么?(linux(ubuntu?centos?),window,mac)
- 其次你的R是什么版本:(3.1 ? 3.2 ? http://www./1307.html )
- 然后你的安裝器是什么版本?(主要針對(duì)于bioconductor包的安裝)
- 然后你的聯(lián)網(wǎng)方式是什么?https ?http ?
- 最后你選擇的R包鏡像是什么?
我們首先要知道自己的R包安裝到了什么地方? > .libPaths()[1] 'C:/Users/jmzeng/Documents/R/win-library/3.1'[2] 'C:/Program Files/R/R-3.1.0/library'
這樣可以直接進(jìn)入這些目錄去看看有哪些包,每個(gè)包都會(huì)有一個(gè)文件夾! 其次你可以用installed.packages()查看你已經(jīng)安裝了哪些包 > colnames(installed.packages()) [1] 'Package' 'LibPath' 'Version' [4] 'Priority' 'Depends' 'Imports' [7] 'LinkingTo' 'Suggests' 'Enhances' [10] 'License' 'License_is_FOSS' 'License_restricts_use'[13] 'OS_type' 'MD5sum' 'NeedsCompilation' [16] 'Built'
| | |
可以具體到你所安裝的包的16個(gè)信息?。。?/p> 最后你可以用available.packages()可以查看自己的機(jī)器可以安裝哪些包! #### ap <->-> > dim(ap) [1] 7662 17 可以得到你現(xiàn)在所要能夠安裝的包??!得到的ap是一個(gè)矩陣[1] 7662 17 如下: 我們就很容易查看自己想安裝的包是否存在于正在使用的R的倉(cāng)庫(kù)里面!> grep('A3',rownames(ap))[1] 1 1685 2212> grep('ABCp2',rownames(ap))[1] 4> grep('airway',rownames(ap))integer(0)> 或者用'airway' %in% rownames(ap) 可以看出,我們想安裝的airway包根本不存在,當(dāng)然,這肯定是不存在的。因?yàn)閍irway是bioconductor的包,不是R的包??!
本文固定鏈接: http://www./1537.html | 生信菜鳥團(tuán)
|