r 如何更新,不需要重裝的手段進行更新?
R語言 更新版本 非重裝的方法
你可以嘗試安裝在自己指定的目錄,然後從指定的目錄載入。或者用 packrat 對安裝包做虛擬化,也是一種思路
如果是Windows系統,可以使用 installr 包 來更新,相關語句如下:install.packages("installr")require(installr)updateR()
無法成功安裝,如下:
&> install.packages("installr")有二進位版本的,但源代碼版本是後來的:
binary source needs_compilationinstallr 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()%這時候可能會讓你安裝stringrinstall.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編程語言 |