كيفية اختيار عينات عشوائية في r: مع أمثلة
لتحديد عينة عشوائية في R، يمكننا استخدام الدالة Sample() ، والتي تستخدم بناء الجملة التالي:
عينة (x، الحجم، استبدال = FALSE، prob = NULL)
ذهب:
- x: ناقل العناصر للاختيار من بينها.
- الحجم: حجم العينة.
- الاستبدال: سواء أخذ العينة بالاستبدال أم لا. القيمة الافتراضية هي كاذبة.
- prob: متجه الأوزان الاحتمالية للحصول على عناصر من المتجه. الافتراضي هو NULL.
يشرح هذا البرنامج التعليمي كيفية استخدام هذه الوظيفة لتحديد عينة عشوائية في R من كل من المتجه وإطار البيانات.
مثال 1: عينة عشوائية من ناقل
يوضح الكود التالي كيفية اختيار عينة عشوائية من متجه دون استبدال :
#create vector of data data <- c(1, 3, 5, 6, 7, 8, 10, 11, 12, 14) #select random sample of 5 elements without replacement sample(x=data, size=5) [1] 10 12 5 14 7
يوضح الكود التالي كيفية اختيار عينة عشوائية من متجه مع الاستبدال :
#create vector of data data <- c(1, 3, 5, 6, 7, 8, 10, 11, 12, 14) #select random sample of 5 elements with replacement sample(x=data, size=5, replace= TRUE ) [1] 12 1 1 6 14
مثال 2: عينة عشوائية من كتلة من البيانات
يوضح التعليمة البرمجية التالية كيفية تحديد عينة عشوائية من إطار البيانات:
#create data frame df <- data.frame(x=c(3, 5, 6, 6, 8, 12, 14), y=c(12, 6, 4, 23, 25, 8, 9), z=c(2, 7, 8, 8, 15, 17, 29)) #view data frame df X Y Z 1 3 12 2 2 5 6 7 3 6 4 8 4 6 23 8 5 8 25 15 6 12 8 17 7 14 9 29 #select random sample of three rows from data frame rand_df <- df[ sample ( nrow (df), size= 3 ), ] #display randomly selected rows rand_df X Y Z 4 6 23 8 7 14 9 29 1 3 12 2
إليك ما يحدث في هذا الجزء من الكود:
1. لتحديد مجموعة فرعية من إطار البيانات في R، نستخدم بناء الجملة التالي: df[rows, columns]
2. في الكود أعلاه، قمنا باختيار عينة مكونة من 3 صفوف من إطار البيانات وجميع الأعمدة بشكل عشوائي.
3. النتيجة النهائية هي مجموعة فرعية من إطار البيانات مع 3 صفوف تم اختيارها عشوائيًا.
من المهم ملاحظة أنه في كل مرة نستخدم فيها الدالة Sample() ، ستحدد R عينة مختلفة لأن الدالة تختار القيم بشكل عشوائي.
من أجل إعادة إنتاج نتائج تحليلات معينة، تأكد من استخدام set.seed(بعض الأرقام) بحيث تختار الدالة Sample() نفس العينة العشوائية في كل مرة. على سبيل المثال:
#make this example reproducible set.seed(23) #create data frame df <- data.frame(x=c(3, 5, 6, 6, 8, 12, 14), y=c(12, 6, 4, 23, 25, 8, 9), z=c(2, 7, 8, 8, 15, 17, 29)) #select random sample of three rows from data frame rand_df <- df[ sample ( nrow (df), size= 3 ), ] #display randomly selected rows rand_df X Y Z 5 8 25 15 2 5 6 7 6 12 8 17
في كل مرة تقوم فيها بتشغيل الكود أعلاه، سيتم تحديد نفس الصفوف الثلاثة لإطار البيانات في كل مرة.
مصادر إضافية
أخذ العينات الطبقية في R (مع أمثلة)
أخذ العينات المنهجية في R (مع أمثلة)
أخذ العينات العنقودية في R: مع أمثلة