2016-07-27 54 views
3

在我的工作中,所有員工都使用相同版本的R和每個包裝的相同版本至關重要。功能自動檢查正確的R包裝版本已安裝

我創建了一個本地CRAN存儲庫和一個直接從此存儲庫安裝的函數。

問題是在我的工作中有很多工作人員,確保每個人都做到這一點的唯一方法是手動檢查自己。

我想知道是否存在一種方法來自動檢查您是否安裝了正確的軟件包?

例如,如果boot_1.3-18是我希望每個人都使用的軟件包,我可以創建一個函數來檢查R庫是否包含此版本?

此外,如果可能(但不是必需的)使用R版本來做到這一點將是太棒了!

非常感謝提前!

+3

當前版本的檢查版本,您可以通過'訪問軟件包版本packageDescription( 「包名」)$ Version'。您可以使用'install.packages()[,c(「Package」,「Built」)]'看到所有已安裝軟件包的相同內容。這有幫助嗎? –

+0

完美,我正在尋找很多謝謝。對於正在使用的R版本,是否有類似的方法? –

+0

也許可以使用[MS Open R](https://mran.revolutionanalytics.com/open/),或者使用VM讓所有用戶共享一個R。 – zx8754

回答

3

檢查版本特定包

您可以通過訪問該包的版本。爲abind包一個例子:

packageDescription("abind")$Version 
# [1] "1.4-3" 

所有安裝的軟件包

installed.packages()[,c("Package", "Built")] 
# Gives an overview of all installed packages and the versions of those packages. 
#     Package   Built 
# abind   "abind"   "3.2.3" 
# BradleyTerry2 "BradleyTerry2" "3.2.3" 
# brglm   "brglm"   "3.2.3" 
# car    "car"    "3.2.4" 
# caret   "caret"   "3.2.4" 
# colorspace  "colorspace"  "3.2.4" 
# devtools   "devtools"   "3.2.5" 
# (...) 

檢查的R

sessionInfo()$R.version$version.string 
# [1] "R version 3.2.3 (2015-12-10)"