كيفية استخدام وظيفة المسح في لغة r (مع أمثلة)


يمكنك استخدام الدالة swep() في R لإجراء عمليات معينة على صفوف أو أعمدة المصفوفة.

تستخدم هذه الوظيفة بناء الجملة الأساسي التالي:

 sweep(x, MARGIN, STATS, FUN)

ذهب:

  • س : اسم المصفوفة
  • MARGIN : الهامش الذي سيتم تنفيذ الوظيفة عليه (1=صفوف، 2=أعمدة)
  • الإحصائيات : القيمة (القيم) التي سيتم استخدامها في الوظيفة
  • المرح : الوظيفة التي سيتم تنفيذها

توضح الأمثلة التالية كيفية استخدام الدالة swep() في سيناريوهات مختلفة في R.

مثال 1: استخدم swep() لإجراء عملية على الصفوف

الكود التالي يوضح كيفية استخدام الدالة swep() لإضافة رقم محدد للقيم الموجودة في كل صف من المصفوفة:

 #define matrix
mat <- matrix(1:15, nrow= 5 )

#view matrix
mast

     [,1] [,2] [,3]
[1,] 1 6 11
[2,] 2 7 12
[3,] 3 8 13
[4,] 4 9 14
[5,] 5 10 15

#add specific numbers to each row
sweep(mat, 1 , c(5, 10, 15, 20, 25), " + ")

     [,1] [,2] [,3]
[1,] 6 11 16
[2,] 12 17 22
[3,] 18 23 28
[4,] 24 29 34
[5,] 30 35 40

إليك كيفية عمل وظيفة swep() في هذا السيناريو:

  • تمت إضافة 5 إلى كل قيمة في السطر الأول.
  • تمت إضافة 10 إلى كل قيمة في السطر الثاني.
  • تمت إضافة 15 إلى كل قيمة في الصف الثالث.
  • تمت إضافة 20 إلى كل قيمة في الصف الرابع.
  • تمت إضافة 25 إلى كل قيمة في الصف الخامس.

لاحظ أننا في هذا المثال استخدمنا الجمع (+) كعملية رياضية يجب تنفيذها، ولكن يمكننا اختيار استخدام عملية مختلفة.

على سبيل المثال، يوضح الكود التالي كيفية ضرب القيم في كل صف بأرقام معينة:

 #define matrix
mat <- matrix(1:15, nrow= 5 )

#view matrix
mast

     [,1] [,2] [,3]
[1,] 1 6 11
[2,] 2 7 12
[3,] 3 8 13
[4,] 4 9 14
[5,] 5 10 15

#multiply values in each row by certain amount
sweep(mat, 1 , c(.5, 1, 2, 4, 6), " * ")

     [,1] [,2] [,3]
[1,] 0.5 3 5.5
[2,] 2.0 7 12.0
[3,] 6.0 16 26.0
[4,] 16.0 36 56.0
[5,] 30.0 60 90.0

مثال 2: استخدم scan() لإجراء عملية على الأعمدة

الكود التالي يوضح كيفية استخدام الدالة swep() لإضافة رقم محدد للقيم الموجودة في كل عمود من أعمدة المصفوفة:

 #define matrix
mat <- matrix(1:15, nrow= 5 )

#view matrix
mast

     [,1] [,2] [,3]
[1,] 1 6 11
[2,] 2 7 12
[3,] 3 8 13
[4,] 4 9 14
[5,] 5 10 15

#add specific numbers to each column
sweep(mat, 2 , c(5, 10, 15), " + ")

     [,1] [,2] [,3]
[1,] 6 16 26
[2,] 7 17 27
[3,] 8 18 28
[4,] 9 19 29
[5,] 10 20 30

إليك كيفية عمل وظيفة swep() في هذا السيناريو:

  • تمت إضافة 5 إلى كل قيمة في العمود الأول.
  • تمت إضافة 10 إلى كل قيمة في العمود الثاني.
  • تمت إضافة 15 إلى كل قيمة في العمود الثالث.

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية تنفيذ العمليات الشائعة الأخرى في R:

كيفية إنشاء مصفوفة فارغة في R
كيفية تحويل dataframe إلى مصفوفة في R
كيفية رسم صفوف المصفوفة في R

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *