المتجهات المسماة
جزء من قسم الأساسيات في رحلة R على Coddy. الدرس 62 من 78.
حتى الآن، كنت تصل إلى عناصر المتجهات باستخدام مواضع رقمية. ولكن ماذا لو كان بإمكانك الوصول إليها باستخدام أسماء ذات معنى بدلًا من ذلك؟ تتيح لك المتجهات المُسمّاة تعيين تسميات لكل عنصر، مما يجعل شفرتك أكثر قابلية للقراءة وموضِّحةً لذاتها.
يمكنك إنشاء متجه مُسمّى من خلال توفير الأسماء أثناء الإنشاء:
ages <- c(alice = 25, bob = 30, charlie = 28)
print(ages)الناتج:
alice bob charlie
25 30 28للوصول إلى العناصر حسب الاسم، استخدم الاسم كسلسلة نصية داخل الأقواس المربعة:
print(ages["bob"])الناتج:
bob
30يمكنك أيضًا إضافة أسماء إلى متجه موجود باستخدام الدالة names():
scores <- c(85, 92, 78)
names(scores) <- c("math", "science", "english")
print(scores["math"])الناتج:
math
85تكون المتجهات المُسمّاة مفيدة بشكل خاص عند التعامل مع بيانات لها تسميات طبيعية، مثل تخزين درجات الطلاب حسب المادة أو الأسعار حسب اسم المنتج.
التحدي
سهلستتلقى سطرين من الإدخال:
- قائمة مفصولة بفواصل لأسماء المنتجات (مثلًا،
laptop,phone,tablet,headphones) - قائمة مفصولة بفواصل للأسعار المقابلة (مثلًا،
999,699,449,199)
نفّذ العمليات التالية:
- أنشئ متجهًا رقميًا من الأسعار
- عيّن أسماء المنتجات إلى المتجه باستخدام الدالة
names() - اطبع المتجه المسمّى بالكامل
- اطبع سعر المنتج الثاني من خلال الوصول إليه باستخدام اسمه
- اطبع سعر المنتج الأخير من خلال الوصول إليه باستخدام اسمه
على سبيل المثال، إذا كانت المدخلات:
apple,banana,orange,grape
2,1,3,4فيجب أن يكون الناتج:
apple banana orange grape
2 1 3 4
banana
1
grape
4ملاحظة: يمكنك الوصول إلى العنصرين الثاني والأخير باستخدام اسم بوصفه فهرسًا (سلسلة نصية، مثل prices["banana"])، وليس باستخدام موضع رقمي. تأتي الأسماء من سطر الإدخال الأول، لذا ابحث عن الاسم الصحيح هناك أولًا.
جرّب بنفسك
# اقرأ المدخلات
con <- file("stdin", "r")
products_input <- suppressWarnings(readLines(con, n = 1))
prices_input <- suppressWarnings(readLines(con, n = 1))
close(con)
# حلل المدخلات المفصولة بفواصل
product_names <- strsplit(products_input, ",")[[1]]
price_values <- strsplit(prices_input, ",")[[1]]
# TODO: اكتب الكود الخاص بك أدناه
# 1. أنشئ متجهًا رقميًا من الأسعار
# 2. عيّن أسماء المنتجات للمتجه باستخدام names()
# 3. اطبع المتجه المسمى بالكامل
# 4. اطبع سعر المنتج الثاني بالوصول إليه باستخدام اسمه
# 5. اطبع سعر المنتج الأخير بالوصول إليه باستخدام اسمهيتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات - الجزء الثاني
المعاملات المنطقية (AND, OR)المعاملات المنطقية - الجزء الثاني (NOT)مراجعة - المنطق البسيطالمنطق المتجهي - الجزء الأولالمنطق المتجهي - الجزء الثاني2المتغيرات وأنواع البيانات
نوع البيانات الرقمينوع البيانات الصحيحنوع البيانات الحرفينوع البيانات المنطقيالتحقق من أنواع البياناتقواعد التسميةالقيم المفقودة: NAملخص - إنشاء المتغيرات8الحلقات التكرارية
حلقة Forحلقة Whileجملة Breakجملة Next (Continue)مراجعة - المضروب (Factorial)توليد المتتاليات (seq, :)الحلقات المتداخلةمراجعة - الإدخال الديناميكي (Dynamic Input)3المعاملات - الجزء الأول
المعاملات الحسابيةقسمة الأعداد الصحيحة وباقي القسمةمعاملات الإسنادملخص - عمليات رياضية بسيطةمعاملات المقارنة6أساسيات الإدخال والإخراج
طباعة المخرجاتاستخدام Cat للمخرجاتالمخرجات مع المتغيراتقراءة المدخلات باستخدام readline()أساسيات تحويل أنواع البياناتمراجعة - حاسبة العمرمراجعة - صح أم خطأتدرّب بنفسك: مترجم R عبر الإنترنت