यदि आपको किसी छोटी सी स्क्रिप्ट को लिखने में कोई आपत्ति नहीं है, तो आपको इसकी आवश्यकता है, मैं इसे आर , ओपन-सोर्स सांख्यिकी प्रणाली में करने की सलाह दूंगा ।
उदाहरण के लिए, 100 गाऊसी-वितरित संख्याओं की सूची प्राप्त करने के लिए इस एक-लाइनर पर विचार करें:
$ Rscript -e 'write(rnorm(100) * 100 + 100, "", 1)'
234.2903
-25.53289
168.0262
-28.49810
105.0687
85.97355
269.5072
...
चलिए इसे तोड़ते हैं।
मानक R
कमांड आपको एक संवादात्मक प्रोग्रामिंग वातावरण में लाता है, जो कि ठीक है यदि आप काम करना चाहते हैं तो हाथ से कुछ कैसे करें या कुछ वृद्धि कर रहे हैं, लेकिन आपके प्रश्न से, ऐसा लगता है कि आपको संख्याओं की सूची की आवश्यकता है दूसरे कार्यक्रम में भेजने के लिए। इसलिए इसके बजाय, हम उपयोग करते हैं Rscript
, जो एक पारंपरिक यूनिक्स स्क्रिप्ट दुभाषिया की तरह अधिक व्यवहार करता है: आप इसे आर स्क्रिप्ट वाली फ़ाइल का नाम दे सकते हैं, या -e
कमांड लाइन पर पूरे प्रोग्राम टेक्स्ट को पास करने के लिए मानक ध्वज का उपयोग कर सकते हैं ।
rnorm()
"सामान्य" या गाऊसी वितरण के साथ यादृच्छिक संख्याओं की सूची प्राप्त करने के लिए आर फ़ंक्शन है। इसमें तीन पैरामीटर लगते हैं, जिनमें से केवल एक की आवश्यकता होती है, आप कितने नंबर चाहते हैं। हमने 100 के लिए कहा है। अन्य दो वैकल्पिक मापदंडों के लिए चूक लेने से, हमें 0 का मतलब और 1 का मानक विचलन मिलता है।
उसके बाद अंकगणित सिर्फ R भाषा की एक शांत विशेषता दिखा रहा है: आप पूरे डेटा तालिकाओं, मैट्रिसेस, आदि पर अंकगणित कर सकते हैं, बस एक अधिक विशिष्ट भाषा में स्केलर मान के रूप में आसानी से। मैंने सभी उत्पन्न मूल्यों को 100 से गुणा किया है और उन्हें 100 जोड़ा है, सिर्फ इसलिए कि मैं कर सकता हूं। क्योंकि आर एक पूर्ण विकसित प्रोग्रामिंग भाषा है, इस संख्या की सूची के साथ आप जो कुछ कर सकते हैं, उसकी कोई सीमा नहीं है। यह एक निश्चित उद्देश्य कमांड के बजाय ऐसी प्रणाली का उपयोग करने का लाभ है jot
।
हम write()
फ़ंक्शन के उस पिछले ऑपरेशन के परिणाम को पास करते हैं, जो डेटा को डिफ़ॉल्ट रूप से एक फ़ाइल में लिखता है, लेकिन हमने ओवरराइड किया है कि दूसरे पैरामीटर, फ़ाइल नाम के लिए एक रिक्त स्ट्रिंग पास करके, इसलिए यह तालिका को लिखता है इसके बजाय टर्मिनल। अगला पैरामीटर, 1
बस यह बताता है कि हम एकल-कॉलम प्रारूप में अपना आउटपुट चाहते हैं।
आर है कई अन्य यादृच्छिक संख्या पीढ़ी कार्यों आधार प्रणाली में बनी। उदाहरण के लिए, हम jot
इस स्क्रिप्ट के साथ lcpriani के उत्तर में कमांड की नकल कर सकते हैं :
$ Rscript -e 'write(round(runif(10, 12, 27)), "", 1)'
यहाँ हम runif()
12 से 27 तक 10 समान रूप से वितरित यादृच्छिक संख्याएँ प्राप्त करने के लिए उपयोग कर रहे हैं । जैसे rnorm()
कि हमने ऊपर जो प्रयोग किया है, यह फ़ंक्शन फ़्लोटिंग-पॉइंट मान लौटाता है, इसलिए हमें round()
स्क्रीन पर लिखने से पहले उन्हें अपने निकटतम पूर्णांक मानों में भेजना होगा।
R के पास CRAN में एक समृद्ध सेट है , जो पर्ल के CPAN पर निर्मित एक रिपॉजिटरी है। आप जिस में रुचि रखते हैं, उसे बस यादृच्छिक कहा जाता है , जो random.org के लिए एक इंटरफ़ेस के रूप में कार्य करता है , एक सेवा जो वायुमंडलीय शोर से उत्पन्न सच यादृच्छिक संख्याओं को वापस करती है।
आर एक पूर्ण प्रोग्रामिंग वातावरण है, इसलिए यह हो सकता है कि आपको वास्तव में पाठ प्रारूप में अपने नंबर को आर से बाहर निकालने की आवश्यकता न हो। आप अपनी समस्या को पूरी तरह से आर में हल करने में सक्षम हो सकते हैं। इसे शॉट दें।