Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

العمليات على المتجهات

جزء من قسم Fundamentals في رحلة R على Coddy — الدرس 59 من 78.

واحدة من أقوى ميزات لغة R هي القدرة على إجراء العمليات على متجهات كاملة في وقت واحد، دون الحاجة إلى المرور عبر كل عنصر. وهذا يجعل الكود الخاص بك أكثر وضوحاً وكفاءة.

عندما تقوم بتطبيق عامل حسابي على متجه (vector)، تقوم لغة R بإجراء العملية على كل عنصر:

prices <- c(10, 25, 15, 30)
discounted <- prices * 0.9
print(discounted)

المخرجات:

[1]  9.0 22.5 13.5 27.0

يمكنك أيضاً إجراء عمليات بين متجهين لهما نفس الطول. يقوم R بمطابقة العناصر المتقابلة:

quantities <- c(2, 1, 4, 3)
prices <- c(10, 25, 15, 30)
totals <- quantities * prices
print(totals)

المخرجات:

[1] 20 25 60 90

توفر لغة R دوالاً مدمجة مفيدة لحسابات المتجهات الشائعة مثل sum()، و mean()، و min()، و max():

scores <- c(85, 92, 78, 95, 88)
print(sum(scores))
print(mean(scores))
print(min(scores))
print(max(scores))

المخرجات:

[1] 438
[1] 87.6
[1] 78
[1] 95
challenge icon

التحدي

سهل

يتم تزويدك بالمتجهات التالية:

hours_worked <- c(8, 7, 9, 6, 8)
hourly_rate <- c(15, 20, 18, 22, 17)

قم بإجراء العمليات التالية واطبع كل نتيجة:

  1. احسب الأرباح اليومية لكل يوم عن طريق ضرب hours_worked في hourly_rate (عنصر بعنصر). اطبع هذا المتجه.
  2. قم بتطبيق مكافأة قدرها 10% على جميع الأرباح اليومية (اضرب في 1.1). اطبع متجه الأرباح المحدث.
  3. اطبع إجمالي الأرباح للأسبوع باستخدام sum()
  4. اطبع متوسط الأرباح اليومية باستخدام mean()
  5. اطبع أعلى أرباح ليوم واحد باستخدام max()
  6. اطبع أقل أرباح ليوم واحد باستخدام min()

يجب أن تكون مخرجاتك:

[1] 120 140 162 132 136
[1] 132.0 154.0 178.2 145.2 149.6
[1] 759
[1] 151.8
[1] 178.2
[1] 132

ورقة مرجعية

تنفذ لغة R العمليات على المتجهات بالكامل دفعة واحدة دون الحاجة إلى حلقات تكرارية (loops).

يؤدي تطبيق عامل حسابي على متجه إلى تنفيذ العملية على كل عنصر فيه:

prices <- c(10, 25, 15, 30)
discounted <- prices * 0.9
print(discounted)
# [1]  9.0 22.5 13.5 27.0

العمليات بين متجهين لهما نفس الطول تقوم بمزاوجة العناصر المتقابلة:

quantities <- c(2, 1, 4, 3)
prices <- c(10, 25, 15, 30)
totals <- quantities * prices
print(totals)
# [1] 20 25 60 90

الدوال المدمجة الشائعة لحسابات المتجهات:

scores <- c(85, 92, 78, 95, 88)
sum(scores)    # [1] 438
mean(scores)   # [1] 87.6
min(scores)    # [1] 78
max(scores)    # [1] 95

جرّب بنفسك

# المتجهات المعطاة
hours_worked <- c(8, 7, 9, 6, 8)
hourly_rate <- c(15, 20, 18, 22, 17)

# المهام المطلوبة: اكتب الكود الخاص بك أدناه

# 1. حساب الأرباح اليومية (الضرب لكل عنصر على حدة)

# 2. تطبيق مكافأة بنسبة 10% على الأرباح اليومية

# 3. طباعة إجمالي الأرباح للأسبوع باستخدام ()sum

# 4. طباعة متوسط الأرباح اليومية باستخدام ()mean

# 5. طباعة أعلى أرباح ليوم واحد باستخدام ()max

# 6. طباعة أقل أرباح ليوم واحد باستخدام ()min
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Fundamentals