R में set.seed का उपयोग कैसे (और कब) करें


R में set.seed() फ़ंक्शन का उपयोग कोड लिखते समय दोहराए जाने योग्य परिणाम बनाने के लिए किया जाता है जिसमें यादृच्छिक मान लेने वाले वेरिएबल बनाना शामिल होता है।

set.seed() फ़ंक्शन का उपयोग करके आप यह सुनिश्चित करते हैं कि हर बार जब आप कोड चलाते हैं तो समान यादृच्छिक मान उत्पन्न होते हैं।

यह फ़ंक्शन निम्नलिखित मूल सिंटैक्स का उपयोग करता है:

सेट.बीज(बीज)

सोना:

  • बीज : कोई भी संख्या जो आप चाहें।

निम्नलिखित उदाहरण दिखाते हैं कि व्यवहार में इस फ़ंक्शन का उपयोग कैसे करें।

उदाहरण 1: set.seed() का उपयोग किए बिना यादृच्छिक मान उत्पन्न करें

मान लीजिए कि हम तीन वेरिएबल्स के साथ एक डेटा फ्रेम बनाने के लिए rnorm() फ़ंक्शन का उपयोग करते हैं जो मानक सामान्य वितरण का पालन करने वाले यादृच्छिक मान लेते हैं:

 #create data frame
df <- data. frame (var1 = rnorm(10),
                 var2 = rnorm(10),
                 var3 = rnorm(10))

#view data frame
df

          var1 var2 var3
1 0.13076685 -0.32183484 0.08083558
2 0.93926332 0.92271464 1.14695121
3 1.97227368 0.01140237 0.29325751
4 1.99656555 0.26735086 1.17131155
5 -1.07893403 -0.12748185 -0.75510058
6 -0.58955485 -0.29720114 0.57928670
7 1.39367811 -1.43043111 -0.39395086
8 -0.09977302 -1.93133994 -0.66654713
9 -0.71876371 2.27999183 0.45990405
10 0.90421007 2.28077581 0.57545709

यदि हम rnorm() का उपयोग करके फिर से वही डेटा फ़्रेम बनाने का प्रयास करते हैं, तो इसकी कोई गारंटी नहीं है कि मान समान होंगे क्योंकि हमने set.seed() फ़ंक्शन का उपयोग नहीं किया है:

 #create data frame
df <- data. frame (var1 = rnorm(10),
                 var2 = rnorm(10),
                 var3 = rnorm(10))

#view data frame
df

         var1 var2 var3
1 0.1841698 1.18134622 -0.9410759
2 -1.3535924 -0.73136515 -0.2802438
3 1.0323083 0.06530416 -1.3447057
4 -0.6540649 -0.45005680 1.1222456
5 0.5201189 -0.03688566 -0.6317776
6 0.6119033 -0.13083390 0.7034120
7 -0.1781823 0.56807218 0.2138826
8 -0.1325103 1.10700318 -0.6799447
9 -0.6185180 0.12327017 -0.2411492
10 -0.2699959 -0.04093012 0.5289240

ध्यान दें कि डेटा फ़्रेम में प्रत्येक कॉलम के मान पूरी तरह से अलग हैं।

उदाहरण 2: set.seed() का उपयोग करके यादृच्छिक मान उत्पन्न करें

निम्नलिखित कोड दिखाता है कि यादृच्छिक मान लेने वाले तीन चर के साथ डेटा फ़्रेम बनाने के लिए rnorm() फ़ंक्शन का उपयोग करने से पहले set.seed() फ़ंक्शन का उपयोग कैसे करें:

 #make this example reproducible
set. seeds (7)

#create data frame
df <- data. frame (var1 = rnorm(10),
                 var2 = rnorm(10),
                 var3 = rnorm(10))

#view data frame
df

         var1 var2 var3
1 2.2872472 0.356986230 0.8397504
2 -1.1967717 2.716751783 0.7053418
3 -0.6942925 2.281451926 1.3059647
4 -0.4122930 0.324020540 -1.3879962
5 -0.9706733 1.896067067 1.2729169
6 -0.9472799 0.467680511 0.1841928
7 0.7481393 -0.893800723 0.7522799
8 -0.1169552 -0.307328300 0.5917451
9 0.1526576 -0.004822422 -0.9830526
10 2.1899781 0.988164149 -0.2760640

यदि हम पहले के समान बीज मान के साथ set.seed() का उपयोग करते हैं और फिर से डेटा फ़्रेम बनाते हैं, तो यह पिछले डेटा फ़्रेम के समान मान होने की गारंटी है:

 #make this example reproducible
set. seeds (7)

#create data frame
df2 <- data. frame (var1 = rnorm(10),
                  var2 = rnorm(10),
                  var3 = rnorm(10))

#view data frame
df2

         var1 var2 var3
1 2.2872472 0.356986230 0.8397504
2 -1.1967717 2.716751783 0.7053418
3 -0.6942925 2.281451926 1.3059647
4 -0.4122930 0.324020540 -1.3879962
5 -0.9706733 1.896067067 1.2729169
6 -0.9472799 0.467680511 0.1841928
7 0.7481393 -0.893800723 0.7522799
8 -0.1169552 -0.307328300 0.5917451
9 0.1526576 -0.004822422 -0.9830526
10 2.1899781 0.988164149 -0.2760640

ध्यान दें कि इस डेटा फ़्रेम के मान पिछले डेटा फ़्रेम के मानों से मेल खाते हैं।

ध्यान दें : इस उदाहरण में, हम शुरुआती मान के रूप में 7 का उपयोग करना चुनते हैं, लेकिन आप अपनी इच्छानुसार कोई भी संख्या चुन सकते हैं, जैसे 0, 54, 99, 100, 48787, आदि।

अतिरिक्त संसाधन

निम्नलिखित ट्यूटोरियल बताते हैं कि R में अन्य सामान्य फ़ंक्शंस का उपयोग कैसे करें:

R में dim() फ़ंक्शन का उपयोग कैसे करें
आर में टेबल() फ़ंक्शन का उपयोग कैसे करें
आर में साइन() फ़ंक्शन का उपयोग कैसे करें

एक टिप्पणी जोड़ने

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *