आर में रिप्लिकेट() फ़ंक्शन का उपयोग कैसे करें (उदाहरण के साथ)


आप आर में किसी अभिव्यक्ति का निश्चित संख्या में बार-बार मूल्यांकन करने के लिए प्रतिकृति() फ़ंक्शन का उपयोग कर सकते हैं।

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

प्रतिकृति (एन, एक्सपीआर)

सोना:

  • n : किसी अभिव्यक्ति का बार-बार मूल्यांकन करने की संख्या।
  • expr : मूल्यांकन करने के लिए अभिव्यक्ति।

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

उदाहरण 1: एक मान को कई बार दोहराएँ

निम्नलिखित कोड दिखाता है कि एक ही मान का कई बार बार-बार मूल्यांकन करने के लिए प्रतिकृति() फ़ंक्शन का उपयोग कैसे करें:

 #replicate the value 3 exactly 10 times
replicate(n= 10,3 )

[1] 3 3 3 3 3 3 3 3 3 3

#replicate the letter 'A' exactly 7 times
replicate(n= 7 , ' A ')

[1] “A” “A” “A” “A” “A” “A” “A”

#replicate FALSE exactly 5 times
replicate(n= 5 , FALSE )

[1] FALSE FALSE FALSE FALSE FALSE

उदाहरण 2: किसी फ़ंक्शन को कई बार दोहराएँ

अब मान लीजिए कि हम किसी फ़ंक्शन का बार-बार मूल्यांकन करना चाहते हैं।

उदाहरण के लिए, मान लीजिए कि हम एक यादृच्छिक चर के लिए तीन मान उत्पन्न करने के लिए rnorm() फ़ंक्शन का उपयोग करते हैं जो 0 के माध्य और 1 के मानक विचलन के साथ सामान्य वितरण का अनुसरण करता है:

 #make this example reproducible
set. seeds (1)

#generate 3 values that follow normal distribution
rnorm(3, mean= 0 , sd= 1 ) 

[1] -0.6264538 0.1836433 -0.8356286

रेप्लिकेट() फ़ंक्शन का उपयोग करके, हम इस rnorm() फ़ंक्शन का कई बार बार-बार मूल्यांकन कर सकते हैं।

उदाहरण के लिए, हम इस फ़ंक्शन का 5 बार मूल्यांकन कर सकते हैं:

 #make this example reproducible
set. seeds (1)

#generate 3 values that follow normal distribution (replicate this 4 times)
replicate(n= 4 , rnorm(3, mean= 0 , sd= 1 ))

           [,1] [,2] [,3] [,4]
[1,] 1.5952808 0.4874291 -0.3053884 -0.6212406
[2,] 0.3295078 0.7383247 1.5117812 -2.2146999
[3,] -0.8204684 0.5757814 0.3898432 1.1249309

परिणाम 3 पंक्तियों और 4 स्तंभों का एक मैट्रिक्स है।

या शायद हम इस फ़ंक्शन का 6 बार मूल्यांकन करना चाहेंगे:

 #make this example reproducible
set. seeds (1)

#generate 3 values that follow normal distribution (replicate this 6 times)
replicate(n= 6 , rnorm(3, mean= 0 , sd= 1 ))

           [,1] [,2] [,3] [,4] [,5] [,6]
[1,] 1.5952808 0.4874291 -0.3053884 -0.6212406 -0.04493361 0.8212212
[2,] 0.3295078 0.7383247 1.5117812 -2.2146999 -0.01619026 0.5939013
[3,] -0.8204684 0.5757814 0.3898432 1.1249309 0.94383621 0.9189774

परिणाम 6 पंक्तियों और 3 स्तंभों का एक मैट्रिक्स है।

डेटा अनुकरण करने के लिए प्रतिलिपि() का उपयोग करें

रेप्लिकेट() फ़ंक्शन सिमुलेशन चलाने के लिए विशेष रूप से उपयोगी है।

उदाहरण के लिए, मान लीजिए कि हम n = 10 आकार के 5 नमूने तैयार करना चाहते हैं जिनमें से प्रत्येक एक सामान्य वितरण का अनुसरण करता है।

हम 5 अलग-अलग नमूने तैयार करने के लिए प्रतिलिपि () फ़ंक्शन का उपयोग कर सकते हैं और फिर हम प्रत्येक नमूने का औसत मूल्य खोजने के लिए colMeans () फ़ंक्शन का उपयोग कर सकते हैं:

 #make this example reproducible
set. seeds (1)

#create 5 samples each of size n=10
data <- replicate(n=5, rnorm(10, mean= 0 , sd= 1 ))

#view samples
data

            [,1] [,2] [,3] [,4] [,5]
 [1,] -0.6264538 1.51178117 0.91897737 1.35867955 -0.1645236
 [2,] 0.1836433 0.38984324 0.78213630 -0.10278773 -0.2533617
 [3,] -0.8356286 -0.62124058 0.07456498 0.38767161 0.6969634
 [4,] 1.5952808 -2.21469989 -1.98935170 -0.05380504 0.5566632
 [5,] 0.3295078 1.12493092 0.61982575 -1.37705956 -0.6887557
 [6,] -0.8204684 -0.04493361 -0.05612874 -0.41499456 -0.7074952
 [7,] 0.4874291 -0.01619026 -0.15579551 -0.39428995 0.3645820
 [8,] 0.7383247 0.94383621 -1.47075238 -0.05931340 0.7685329
 [9,] 0.5757814 0.82122120 -0.47815006 1.10002537 -0.1123462
[10,] -0.3053884 0.59390132 0.41794156 0.76317575 0.8811077

#calculate mean of each sample
colMeans(data)

[1] 0.1322028 0.2488450 -0.1336732 0.1207302 0.1341367

परिणाम से हम देख सकते हैं:

  • पहले नमूने का माध्य 0.1322 है।
  • दूसरे नमूने का माध्य 0.2488 है।
  • तीसरे नमूने का माध्य -0.1337 है।

और इसी तरह।

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

आर में विशिष्ट कॉलम का चयन कैसे करें
आर में डेटा फ्रेम से कॉलम कैसे हटाएं
आर में स्थिति के आधार पर डेटा फ़्रेम से पंक्तियाँ कैसे हटाएँ

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

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