المنطق المتجهي - الجزء الأول
جزء من قسم 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.
التحدي
سهلاستخدم عاملي الربط المنطقي المتجهين AND (&) و OR (|) لإجراء مقارنات على مستوى العناصر في المتجهات.
لديك المتجهات التالية:
temperatures <- c(18, 25, 32, 15, 28, 35, 22)
humidity <- c(45, 80, 60, 30, 75, 85, 50)استخدم العمليات المنطقية المتجهة لإنشاء المتجهات المنطقية التالية:
- أنشئ متجهًا يسمى
comfortable_tempيخزن القيمةTRUEلكل درجة حرارة أكبر من أو تساوي 20 و أقل من أو تساوي 30 - أنشئ متجهًا يسمى
high_humidityيخزن القيمةTRUEلكل قيمة رطوبة أكبر من 70 - أنشئ متجهًا يسمى
pleasant_dayيخزن القيمةTRUEلكل يوم تكون فيه درجة الحرارة بين 20 و 30 (شاملة) و الرطوبة أقل من أو تساوي 60 - أنشئ متجهًا يسمى
extreme_weatherيخزن القيمةTRUEلكل يوم تكون فيه درجة الحرارة أكبر من 30 أو الرطوبة أكبر من 80 - أنشئ متجهًا يسمى
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)يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الثاني
المعاملات المنطقية (AND, OR)المعاملات المنطقية - الجزء الثاني (NOT)مراجعة - المنطق البسيطالمنطق المتجهي - الجزء الأولالمنطق المتجهي - الجزء الثاني2المتغيرات وأنواع البيانات
نوع البيانات الرقمينوع البيانات الصحيحنوع البيانات الحرفينوع البيانات المنطقيالتحقق من أنواع البياناتقواعد التسميةالقيم المفقودة: NAملخص - إنشاء المتغيرات8الحلقات التكرارية
حلقة Forحلقة Whileجملة Breakجملة Next (Continue)مراجعة - المضروب (Factorial)توليد المتتاليات (seq, :)الحلقات المتداخلةمراجعة - الإدخال الديناميكي (Dynamic Input)3المعاملات - الجزء الأول
المعاملات الحسابيةقسمة الأعداد الصحيحة وباقي القسمةمعاملات الإسنادملخص - عمليات رياضية بسيطةمعاملات المقارنة6أساسيات الإدخال والإخراج
طباعة المخرجاتاستخدام Cat للمخرجاتالمخرجات مع المتغيراتقراءة المدخلات باستخدام readline()أساسيات تحويل أنواع البياناتمراجعة - حاسبة العمرمراجعة - صح أم خطأ