كيف (ومتى) لاستخدام set.seed في r
تُستخدم الدالة set.seed() في لغة R لإنشاء نتائج قابلة للتكرار عند كتابة تعليمات برمجية تتضمن إنشاء متغيرات تأخذ قيمًا عشوائية.
باستخدام الدالة 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()
يوضح التعليمة البرمجية التالية كيفية استخدام الدالة set.seed() قبل استخدام الدالة rnorm() لإنشاء إطار بيانات بثلاثة متغيرات تأخذ قيمًا عشوائية:
#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:
كيفية استخدام الدالة dim() في R
كيفية استخدام وظيفة الجدول () في R
كيفية استخدام وظيفة التوقيع () في R