標籤:

r 如何更新,不需要重裝的手段進行更新?

R語言 更新版本 非重裝的方法


你可以嘗試安裝在自己指定的目錄,然後從指定的目錄載入。

或者用 packrat 對安裝包做虛擬化,也是一種思路


如果是Windows系統,可以使用 installr 包 來更新,相關語句如下:

install.packages("installr")

require(installr)

updateR()


無法成功安裝,如下:

&> install.packages("installr")

有二進位版本的,但源代碼版本是後來的:

binary source needs_compilation

installr 0.17.8 0.18.0 FALSE

安裝源碼包『installr』

試開URL』https://mirrors.tuna.tsinghua.edu.cn/CRAN/src/contrib/installr_0.18.0.tar.gz"

Content type "application/octet-stream" length 126497 bytes (123 KB)

downloaded 123 KB

"D:Program" 不是內部或外部命令,也不是可運行的程序

或批處理文件。

下載的程序包在

『C:UsersAdministratorAppDataLocalTempRtmpGslxAFdownloaded_packages』里

Warning messages:

1: 運行命令""D:/Program Files/R/R-3.3.1/bin/x64/R" CMD INSTALL -l "D:Program FilesRR-3.3.1library" C:UsersADMINI~1AppDataLocalTempRtmpGslxAF/downloaded_packages/installr_0.18.0.tar.gz"的狀態是1

2: In install.packages("installr") :

安裝程序包『installr』時退出狀態的值不是0


實測 還是重裝快一些 。。。


非原創,綜合知乎上的方式成功了。

install.packages("installr")

require(installr)

updateR()%這時候可能會讓你安裝stringr

install.packages("stringr")安裝packages不成功,所以我是在studio,packages,install裡面安裝的。


如果有anaconda的話可以用anaconda創建一個r的環境,然後用anaconda去更新r,就像更新Python一樣


Linux方法:

以我從3.3.3升級到3.4.1為例。

先把/home/andyhenry/R/x86_64-pc-linux-gnu-library/3.3(路徑)裡面的東西複製到/home/andyhenry/R/x86_64-pc-linux-gnu-library/3.4

然後運行:

&> install.packages(.packages(all.available = T))
Installing packages into 『/home/andyhenry/R/x86_64-pc-linux-gnu-library/3.4』
(as 『lib』 is unspecified)
Warning in install.packages :
packages 『AnnotationDbi』, 『Biobase』, 『BiocGenerics』, 『BiocInstaller』, 『IRanges』, 『S4Vectors』, 『base』, 『compiler』, 『datasets』, 『graphics』, 『grDevices』, 『grid』, 『methods』, 『parallel』, 『splines』, 『stats』, 『stats4』, 『tcltk』, 『tools』, 『utils』 are not available (for R version 3.4.1) #暫未適配新版本的包
Warning in install.packages :
packages 『base』, 『compiler』, 『datasets』, 『graphics』, 『grDevices』, 『grid』, 『methods』, 『parallel』, 『splines』, 『stats』, 『stats4』, 『tcltk』, 『tools』, 『utils』 are base packages, and should not be updated #R 3.4.1的基礎包,已經是3.4.1的版本
also installing the dependencies 『glue』, 『dplyr』, 『tidyr』, 『useful』 #依賴

本質上是重新編譯。

這裡有一個問題是,有的包存在依賴關係,所以需要先編譯被依賴的包,但這個方法並沒有這個判斷機制。好在這種情況不會太多,手動處理就可以了。


用的是notepad++吧,「腳本代碼編寫時沒有考慮到帶有空格名的路徑,建議把程序不要放在有空格名的文件夾里」,我是直接把軟體從program files提出來,放到D盤,這樣就行了。


我嘗試了installr包,會出現錯誤,請問有什麼更好的辦法解決嗎?


推薦閱讀:

R語言 安裝完軟體後如何進行界面語言的設置?
有哪些比較好的R語言網路視頻教程推薦?
如何理解R中因子(factor)的概念?
R語言在哪些情況下for循環可以避免?
R語言分層抽樣的函數是什麼?

TAG:R編程語言 |