R包經常會遇到各種版本不兼容的毛病,比如當前的版本相較於包,新了/舊了都是麻煩
而升級R軟件呢,最麻煩的就是之前安裝的包怎么辦?
搜羅了以下幾種方法:
方法1:
(1)直接安裝新版本
(2)然后復制舊版本的library中的文件夾到新版本的library文件夾下,粘貼。
如果中間跳出有重名的,就不覆蓋(基礎包是需要最新的)。
(3)打開新版的R,輸入:
update.packages()
默默等待更新即可
(不過我其實不建議這種方式,他會不斷的跳出來,讓你選擇y/n/c 是/否/取消)
直接選擇程序包——更新程序包,應該就可以了吧?
方法2
使用installr包

所以,還沒開始,似乎結局已經注定


如果是這樣,我不知道其意義何在呢?
不過呢,按照其他參考資料而言,應該還是很簡便的
(參考資料的發布時間最在的在2014,晚一點的也在2015,看來這個包也是經過了不少改動啊)
http://wanglongqi.github.io/r/2014/11/04/installR/(Posted on 04 Nov 2014)
方法3
在舊版本下的控制輸入:
olib <- installed.packages()[,"Package"]
save(olib, file="oldRpackages.txt",ascii=T)
也就是,在舊版本下,讀入了所有已安裝的擴展包
我將后綴名保存為txt,並設置ascii參數為T,是為了能打開,打開能識別編碼。恩,最好使用editplus打開,不然直接用txt,格式看起來混亂。
上述語句要在卸載舊版本之前運行,然后,上述語句運行完,會在當前的工作空間(getwd()查看)文件下生成一個oldRpackages.txt文件
安裝新的R,然后在新的R中輸入:
> load("oldRpackages")
> chooseCRANmirror() #我先選擇設置鏡像,才出現此代碼
> tobeinstalled <- setdiff(olib, installed.packages()[,"Package"])
> biocLite(tobeinstalled)
錯誤: 沒有"biocLite"這個函數
使用??biocLite,也是not fund
但事實上不是這樣的,輸入:(這是因為,他們所用的鏡像,是生物信息自己的鏡像,會加載包)
load("oldRpackages")
source("http://bioconductor.org/biocLite.R")
試開URL’https://bioconductor.org/packages/3.3/bioc/bin/windows/contrib/3.3/BiocInstaller_1.22.1.zip'
Content type 'application/zip' length 58128 bytes (56 KB)
downloaded 56 KB
The downloaded binary packages are in
C:\Users\xuan\AppData\Local\Temp\Rtmp6dKreM\downloaded_packages
Bioconductor version 3.3 (BiocInstaller
1.22.1), ?biocLite for help
tobeinstalled <- setdiff(olib, installed.packages()[,"Package"])
biocLite(tobeinstalled)
BioC_mirror: https://bioconductor.org
Using Bioconductor 3.3 (BiocInstaller 1.22.1), R 3.3.0
(2016-05-03).
Old packages: 'Rcpp', 'survival'
Update all/some/none? [a/s/n]: a(自己輸入選擇)
報錯了........
綜上所述,我覺得,在方法2可用的情況下,可以使用2 ,否則,我還是更願意使用方法1.
卸載,進入安裝文件,找到unins000.exe

卸載完后,library文件夾還會殘留下來,但是,此時殘留的僅僅是擴展包,其他的核心基礎包,都木有啦。
安裝:

(我手賤,一開始自己選了Plain text,結果幫助文檔是在一個控制台一樣的窗口輸出的,不方便啊,無法縮放,窗口切換也麻煩)
