यह निर्भर करता है कि आप कोड को कैसे चलाएंगे या यदि कोई कोड है जो कुछ हद तक स्टोचस्टिक है जिसमें यह यादृच्छिक तरीके से यादृच्छिक संख्या खींचता है। (इसका एक उदाहरण हमारे शाकाहारी पैकेज में क्रमपरिवर्तन परीक्षण है जहां हम केवल तब तक अनुमति देना जारी रखते हैं जब तक कि हमें यह जानने के लिए पर्याप्त डेटा प्राप्त नहीं हो जाता है कि क्या परिणाम प्रकार I त्रुटि से भिन्न है जो टाइप II त्रुटि दर से निपट रहा है।) हालांकि ड्रॉ को प्रभावित नहीं करना चाहिए ...
यदि अंतिम स्क्रिप्ट केवल एक बैच की नौकरी के रूप में या उसकी संपूर्णता में चलाई जाएगी और छद्म यादृच्छिक संख्या जनरेटर से कोई स्टोचस्टिक ड्रॉ नहीं हैं, तो स्क्रिप्ट के शीर्ष पर एक बीज सेट करना और इसे अपनी संपूर्णता में चलाना सुरक्षित है। ।
यदि आप कोड के माध्यम से कदम रखना चाहते हैं, तो शायद फिर से गतिशील ब्लॉक तो आपको set.seed()
प्रत्येक फ़ंक्शन कॉल से पहले एक कॉल की आवश्यकता होगी जो कि छद्म यादृच्छिक संख्या जनरेटर से आकर्षित होगा।
अपने वैज्ञानिक पत्रों के लिए, मैं नियमित रूप से सुपर रक्षात्मक जाता हूं और प्रत्येक कोड चंक से पहले बीज सेट करता हूं; यह बाद की तारीख में स्क्रिप्ट को अपडेट करने की अनुमति देता है जिसे किसी भी बिंदु पर मौजूदा स्क्रिप्ट में डालने की आवश्यकता हो सकती है - समीक्षकों की टिप्पणियों या सह-लेखकों की टिप्पणियों का जवाब देने के लिए कहें।
आपके परिणाम निश्चित रूप से विशेष रूप से pseduo- यादृच्छिक मूल्यों के सेट पर आकस्मिक नहीं होंगे, इसलिए यह मुद्दा किसी रिपोर्ट या पेपर में बताए गए सटीक मानों को पुन: पेश करने में सक्षम हो रहा है। भले ही आप सुपर डिफेंसिव हों और प्रत्येक कोड चंक पर एक बीज सेट करें, फिर भी आपको सटीक इंस्टॉलेशन को फिर से बनाने की आवश्यकता हो सकती है --- आर संस्करण और पैकेज संस्करण ताकि उन विवरणों को रिकॉर्ड करना आवश्यक हो। अतिरिक्त सुरक्षित रहने के लिए आपको विशिष्ट प्रोजेक्ट्स / पेपर्स के लिए पिछले आर संस्करणों और पैकेजों को अपने पास रखना होगा। दरअसल, बहुत से लोग ऐसा करते हैं।
R
काम के लिए यह राज्य में पाया जा सकता है.Random.seed
। इस बारेR
में मेरी सबसे बड़ी चिंता यह है कि कुछ रूटीन इसे दरकिनार कर सकतेset.seed
हैं - और शायद कुछ मामलों में पूरी तरह से अनदेखा कर सकते हैं।