2014-10-31 18 views
2

我正在撰寫一篇博客文章,希望確保用戶具有特定版本的軟件包。我如何在R中做出這樣的迴應?看起來這是可能的,因爲我們可以在包的Description文件中設置最小版本,所以我猜測tools包中有一個函數,但使用Google進行的搜索沒有透露給我。檢查軟件包版本是否符合或超過某個要求

我可以得到的版本如下:

packageDescription("dplyr")[["Version"]] 

理想我想做的事:

packageDescription("dplyr")[["Version"]] >= 0.2.0 
+4

研究'packageDescription' 。 – Roland 2014-10-31 20:05:40

回答

4

我相信這個工程:

> packageVersion("dplyr") 
[1] ‘0.3.0.2’ 
> packageVersion("dplyr") >= "0.3.0.2" 
[1] TRUE 
> packageVersion("dplyr") >= "0.3.0" 
[1] TRUE 
> packageVersion("dplyr") >= "0.3.0.3" 
[1] FALSE 
> packageVersion("dplyr") >= "0.3.1.3" 
[1] FALSE 
> packageVersion("dplyr") >= "0.3.10" 
[1] FALSE 
> packageVersion("dplyr") >= "0.3.0.10" 
[1] FALSE 
> packageVersion("dplyr") >= "0.a.0" 
Error: invalid version specification ‘0.a.0’ 
+0

另外'class(packageVersion(「dplyr」))'然後'方法(class =「numeric_version」)'表明R有一套相當成熟的工具來處理版本對象。 – 2014-10-31 20:15:56

+1

v。3.01是次要版本01 == 1,而不是次要版本.01,因此0.3.0000001是寫作0.3.1的一種習慣方式,不是<= 0.3.0.2 – 2014-10-31 20:57:00

相關問題