आर में नमूना फ़ंक्शन का उपयोग करके नमूना कैसे उत्पन्न करें


आर में नमूना () फ़ंक्शन आपको डेटासेट या वेक्टर से तत्वों का एक यादृच्छिक नमूना लेने की अनुमति देता है, प्रतिस्थापन के साथ या उसके बिना।

नमूना() फ़ंक्शन का मूल सिंटैक्स है:

नमूना (x, आकार, बदलें = गलत , संभावना = शून्य )

x : एक डेटा सेट या वेक्टर जिसमें से नमूना चुनना है
आकार : नमूना आकार
प्रतिस्थापित करें : क्या प्रतिस्थापन के साथ नमूनाकरण किया जाना चाहिए? (यह डिफ़ॉल्ट रूप से गलत है)
प्रोब : नमूना वेक्टर के तत्वों को प्राप्त करने के लिए संभाव्यता भार का एक वेक्टर

नमूना() के लिए पूर्ण दस्तावेज़ यहां पाया जा सकता है।

निम्नलिखित उदाहरण नमूना() का उपयोग करने के व्यावहारिक उदाहरण प्रदर्शित करते हैं।

एक वेक्टर से एक नमूना उत्पन्न करें

मान लीजिए कि हमारे पास एक वेक्टर है जिसमें 10 तत्व हैं:

 #define vector a with 10 elements in it
a <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

प्रतिस्थापन के बिना वेक्टर के 5 तत्वों का एक यादृच्छिक नमूना उत्पन्न करने के लिए, हम निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं:

 #generate random sample of 5 elements from vector a
sample(a, 5)

#[1] 3 1 4 7 5

यह ध्यान रखना महत्वपूर्ण है कि हर बार जब हम एक यादृच्छिक नमूना तैयार करते हैं, तो संभावना है कि हमें हर बार वस्तुओं का एक अलग सेट मिलेगा।

 #generate another random sample of 5 elements from vector a
sample(a, 5)

#[1] 1 8 7 4 2

यदि हम अपने परिणामों को दोहराने और हर बार एक ही नमूने के साथ काम करने में सक्षम होना चाहते हैं, तो हम set.seed() का उपयोग कर सकते हैं।

 #set.seed(some random number) to ensure that we get the same sample each time
set.seed(122)

#define vector a with 10 elements in it
a <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

#generate random sample of 5 elements from vector a
sample(a, 5)

#[1] 10 9 2 1 4

#generate another random sample of 5 elements from vector a
sample(a, 5)

#[1] 10 9 2 1 4

हम प्रतिस्थापन के साथ नमूना लेने के लिए रिप्लेस = TRUE तर्क का भी उपयोग कर सकते हैं। इसका मतलब यह है कि वेक्टर के प्रत्येक तत्व को नमूने में एक से अधिक बार प्रदर्शित होने के लिए चुना जा सकता है।

 #generate random sample of 5 elements from vector a using sampling with replacement
sample(a, 5, replace = TRUE)

#10 10 2 1 6

डेटासेट से एक नमूना तैयार करें

नमूना() फ़ंक्शन का एक अन्य सामान्य उपयोग डेटा सेट से पंक्तियों का एक यादृच्छिक नमूना उत्पन्न करना है। निम्नलिखित उदाहरण के लिए, हम अंतर्निहित आर डेटासेट आईरिस से 10 पंक्तियों का एक यादृच्छिक नमूना तैयार करेंगे, जिसमें कुल 150 पंक्तियाँ हैं।

 #view first 6 rows of iris dataset
head(iris)

# Sepal.Length Sepal.Width Petal.Length Petal.Width Species
#1 5.1 3.5 1.4 0.2 setosa
#2 4.9 3.0 1.4 0.2 setosa
#3 4.7 3.2 1.3 0.2 setosa
#4 4.6 3.1 1.5 0.2 setosa
#5 5.0 3.6 1.4 0.2 setosa
#6 5.4 3.9 1.7 0.4 setosa

#set seed to ensure that this example is replicable
set.seed(100)

#choose a random vector of 10 elements from all 150 rows in iris dataset
sample_rows <- sample(1:nrow(iris), 10)
sample_rows

#[1] 47 39 82 9 69 71 117 53 78 25

#choose the 10 rows of the iris dataset that match the row numbers above
sample <- iris[sample_rows, ]
sample

# Sepal.Length Sepal.Width Petal.Length Petal.Width Species
#47 5.1 3.8 1.6 0.2 setosa
#39 4.4 3.0 1.3 0.2 setosa
#82 5.5 2.4 3.7 1.0 versicolor
#9 4.4 2.9 1.4 0.2 setosa
#69 6.2 2.2 4.5 1.5 versicolor
#71 5.9 3.2 4.8 1.8 versicolor
#117 6.5 3.0 5.5 1.8 virginica
#53 6.9 3.1 4.9 1.5 versicolor
#78 6.7 3.0 5.0 1.7 versicolor
#25 4.8 3.4 1.9 0.2 setosa

ध्यान दें कि यदि आप उपरोक्त कोड को अपने आर कंसोल में कॉपी और पेस्ट करते हैं, तो आपको बिल्कुल वही नमूना मिलना चाहिए क्योंकि हमने यह सुनिश्चित करने के लिए set.seed(100) का उपयोग किया था कि हमें हर बार एक ही नमूना मिले।

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

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