2015-09-17 11 views
5

आर के वर्तमान संस्करण को खोजने के लिए, कोई एक विशिष्ट पैकेज के संस्करण को समझ सकता है, और packageVersion() के साथ इसके संबंधपरक ऑपरेटरों का उपयोग कर सकता है। उदाहरण के लिए:प्रोग्रामिक रूप से आर

packageVersion("MASS") 
(pp <- packageVersion("MASS")) 
## [1] ‘7.3.43’ 
pp > '7.2.0' 
## TRUE 

कैसे एक आर के ही चल रहा है प्रति के लिए संस्करण जानकारी के बराबर रूप से प्राप्त करता है? उदाहरण के लिए

grep("R[._vV]",apropos("version"),value=TRUE) 
## [1] ".ess.ESSRversion" ".ess.Rversion" "getRversion"  
## "R_system_version" 
## [5] "R.Version"  "R.version"  "R.version.string" 

क्योंकि मैं निराश हूँ कि मैं इस पूछ रहा हूँ आंकड़ा होने पर:

इस उत्तर के लिए, आप वास्तव में यह पता लगाने की देखने के लिए जहां है, जो के रूप में आसान नहीं है के रूप में ऐसा लगता है है यह हर कुछ महीनों में बाहर निकलता है ... यदि कोई और नहीं करता तो मैं जवाब दूंगा। packageVersion() और package_version() के बीच अंतर का वर्णन के लिए अतिरिक्त क्रेडिट ...

मैं इस सवाल here पारित करने में उत्तर दिया जाता है लगता है, लेकिन मेरे सवाल का ध्यान केंद्रित विशेष रूप से है कैसे कार्यक्रम संबंधी रूप में जानकारी प्राप्त करने के लिए (यानी, न सिर्फ यह पता लगाने के लिए कि कौन सा संस्करण चल रहा है, लेकिन इसे आर के भीतर स्वचालित संस्करण परीक्षण चलाने के लिए उपयुक्त फ़ॉर्म में कैसे प्राप्त करें)।

+1

के संभावित डुप्लिकेट कर सकते हैं [जो आर के संस्करण अपने कंप्यूटर में चल रहा है?] (Http://stackoverflow.com/ प्रश्न/15 9 83069/जो-संस्करण-ऑफ-आर-है-रन-इन-माय-कंप्यूटर) – smci

+0

@ एसएमसीआई - मैं असहमत हूं। यह एक सटीक डुप्लिकेट नहीं है - बेन केवल एक प्रिंट आउट से अधिक चाहता है कि कौन सा संस्करण चलाया जा रहा है। – Dason

+0

@Dason: यह नहीं है कि दूसरे प्रश्न के लिए क्या पूछा गया है, और यह नहीं है [उत्तर] (http://stackoverflow.com/a/15983118/202229) ने दिया। मेरा, उदाहरण के लिए। स्वीकृत उत्तर से आईएमओ बेहतर कौन सा था। वैसे भी: इस विषय पर प्रश्नों को कैसे व्यवस्थित करें? – smci

उत्तर

6

ये ?R.Version सहायता पृष्ठ में प्रलेखित हैं। यह वास्तव में इस बात पर निर्भर करता है कि आप वास्तव में मूल्य स्वरूपित/संग्रहीत मूल्य कैसे चाहते हैं।

packageVersion()package_version ऑब्जेक्ट के रूप में किसी विशेष पैकेज से संस्करण जानकारी निकालता है।

package_version() अनिवार्य रूप से एक संस्करण संख्या को package_version मान में पार्स करता है जिसे आसानी से तुलना किया जा सकता है।

आप

package_version(R.version) > package_version("3.0.1") 

या ऐसा ही कुछ के साथ संस्करणों की तुलना कर सकते हैं।

getRversion() फ़ंक्शन ?R.Version सहायता पृष्ठ में इंगित किया गया है स्वचालित रूप से package_version ऑब्जेक्ट देता है।

getRversion() > package_version("3.0.1") 

प्लस package_version वस्तुओं पक्षधर तार के साथ स्वत: परिवर्तन के साथ-साथ

getRversion() > "3.0.1" 
+0

हम्म, मैं 'getRversion()>" 3.0.1 "' कोशिश कर रहा था ... मुझे लगता है कि TMTOWTDI ... –

+0

अच्छा बिंदु @ बेनबॉल्कर। मैंने उस जानकारी को भी जोड़ा है। – MrFlick

+1

TMTOWTDI = ऐसा करने के एक से अधिक तरीके हैं। – orizon

2

AFAIK, version निरंतर आपको वह जानकारी देता है। मेरे मामले में:

version 
## platform  x86_64-pc-linux-gnu   
## arch   x86_64      
## os    linux-gnu     
## system   x86_64, linux-gnu   
## status          
## major   3       
## minor   2.2       
## year   2015       
## month   08       
## day   14       
## svn rev  69053      
## language  R       
## version.string R version 3.2.2 (2015-08-14) 
## nickname  Fire Safety    
with(version, paste(major, minor, sep='.')) 
## [1] "3.2.2" 
संबंधित मुद्दे