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

المنطق المتجهي - الجزء الأول

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

تمتلك لغة R نسختين من عاملي AND و OR. لقد تعلمت عن && و ||، واللذان يعملان مع القيم المفردة. الآن دعنا نستكشف نظائرهما الموجهة (vectorized): & و | (رموز مفردة).

الفرق الرئيسي هو أن & و | يقارنان القيم عنصراً بعنصر عند التعامل مع قيم متعددة:

a <- c(TRUE, TRUE, FALSE, FALSE)
b <- c(TRUE, FALSE, TRUE, FALSE)

a & b   # TRUE FALSE FALSE FALSE
a | b   # TRUE TRUE TRUE FALSE

يتم مقارنة كل موضع بشكل مستقل. في الموضع الأول، كل من a و b قيمتهما TRUE، لذا فإن a & b تعيد TRUE. في الموضع الثاني، a قيمته TRUE ولكن b قيمته FALSE، لذا فإن a & b تعيد FALSE.

يصبح هذا قوياً عند دمجه مع معاملات المقارنة:

scores <- c(85, 42, 91, 67, 55)

# تحقق من الدرجات التي تقع بين 50 و 80
scores >= 50 & scores <= 80  # FALSE FALSE FALSE TRUE TRUE

النتيجة هي متجه من القيم المنطقية يوضح أي العناصر تستوفي كلا الشرطين. يُعد هذا السلوك القائم على العناصر (element-wise behavior) ضرورياً لتصفية وتحليل البيانات في لغة R.

challenge icon

التحدي

سهل

استخدم عاملي الربط المنطقي المتجهين AND (&) و OR (|) لإجراء مقارنات على مستوى العناصر في المتجهات.

لديك المتجهات التالية:

temperatures <- c(18, 25, 32, 15, 28, 35, 22)
humidity <- c(45, 80, 60, 30, 75, 85, 50)

استخدم العمليات المنطقية المتجهة لإنشاء المتجهات المنطقية التالية:

  1. أنشئ متجهًا يسمى comfortable_temp يخزن القيمة TRUE لكل درجة حرارة أكبر من أو تساوي 20 و أقل من أو تساوي 30
  2. أنشئ متجهًا يسمى high_humidity يخزن القيمة TRUE لكل قيمة رطوبة أكبر من 70
  3. أنشئ متجهًا يسمى pleasant_day يخزن القيمة TRUE لكل يوم تكون فيه درجة الحرارة بين 20 و 30 (شاملة) و الرطوبة أقل من أو تساوي 60
  4. أنشئ متجهًا يسمى extreme_weather يخزن القيمة TRUE لكل يوم تكون فيه درجة الحرارة أكبر من 30 أو الرطوبة أكبر من 80
  5. أنشئ متجهًا يسمى stay_inside يخزن القيمة TRUE لكل يوم تكون فيه درجة الحرارة أقل من 18 أو (درجة الحرارة أكبر من 30 و الرطوبة أكبر من 70)

استخدم الدالة print() لعرض comfortable_temp، و high_humidity، و pleasant_day، و extreme_weather، و stay_inside بهذا الترتيب تمامًا.

ورقة مرجعية

تمتلك لغة R نسختين من عاملي AND و OR:

  • && و || يعملان مع القيم المفردة
  • & و | هما عاملان متجهان (vectorized) يقارنان القيم عنصراً بعنصر

العاملان المتجهان & و | يقارنان كل موضع بشكل مستقل:

a <- c(TRUE, TRUE, FALSE, FALSE)
b <- c(TRUE, FALSE, TRUE, FALSE)

a & b   # TRUE FALSE FALSE FALSE
a | b   # TRUE TRUE TRUE FALSE

تكون العوامل المتجهة قوية عند دمجها مع عوامل المقارنة:

scores <- c(85, 42, 91, 67, 55)

# التحقق من الدرجات التي تقع بين 50 و 80
scores >= 50 & scores <= 80  # FALSE FALSE FALSE TRUE TRUE

النتيجة هي متجه من القيم المنطقية يوضح أي العناصر تستوفي الشروط.

جرّب بنفسك

# المتجهات المقدمة
temperatures <- c(18, 25, 32, 15, 28, 35, 22)
humidity <- c(45, 80, 60, 30, 75, 85, 50)

# TODO: اكتب الكود الخاص بك أدناه
# 1. قم بإنشاء comfortable_temp: تكون TRUE عندما تكون درجة الحرارة >= 20 و <= 30

# 2. قم بإنشاء high_humidity: تكون TRUE عندما تكون الرطوبة > 70

# 3. قم بإنشاء pleasant_day: تكون TRUE عندما تكون درجة الحرارة بين 20-30 والرطوبة <= 60

# 4. قم بإنشاء extreme_weather: تكون TRUE عندما تكون درجة الحرارة > 30 أو الرطوبة > 80

# 5. قم بإنشاء stay_inside: تكون TRUE عندما تكون درجة الحرارة < 18 أو (درجة الحرارة > 30 والرطوبة > 70)


# طباعة النتائج
print(comfortable_temp)
print(high_humidity)
print(pleasant_day)
print(extreme_weather)
print(stay_inside)
quiz iconاختبر نفسك

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

جميع دروس Fundamentals