القوائم المُسماة
جزء من قسم Fundamentals في رحلة R على Coddy — الدرس 74 من 78.
تماماً مثل المتجهات المسماة (named vectors)، يمكن أن يكون للقوائم (lists) أسماء مخصصة لعناصرها. هذا يجعل الكود الخاص بك أكثر قابلية للقراءة ويسمح لك بالوصول إلى العناصر من خلال تسميات ذات معنى بدلاً من المواقع الرقمية.
يمكنك تعيين أسماء عند إنشاء القائمة:
person <- list(name = "Alice", age = 25, active = TRUE)
print(person)المخرجات:
$name
[1] "Alice"
$age
[1] 25
$active
[1] TRUEلاحظ كيف يظهر المخرج الآن $name بدلاً من [[1]]. للوصول إلى العناصر المسماة، استخدم عامل $:
person <- list(name = "Alice", age = 25, active = TRUE)
print(person$age)المخرج:
[1] 25يمكنك أيضاً استخدام الأقواس المزدوجة مع الاسم كسلسلة نصية (string)، وهو أمر مفيد عندما يكون الاسم مخزناً في متغير:
person <- list(name = "Alice", age = 25)
print(person[["name"]])المخرجات:
[1] "Alice"تعديل العناصر المسماة يعمل بنفس الطريقة. استخدم $ لتغيير القيم الموجودة أو إضافة قيم جديدة:
person <- list(name = "Alice", age = 25)
person$age <- 26
person$city <- "Paris"
print(person)المخرجات:
$name
[1] "Alice"
$age
[1] 26
$city
[1] "Paris"التحدي
سهلستتلقى ثلاثة أسطر من المدخلات:
- عنوان الكتاب (على سبيل المثال،
The Great Gatsby) - مؤلف الكتاب (على سبيل المثال،
F. Scott Fitzgerald) - سنة النشر (على سبيل المثال،
1925)
قم بإجراء العمليات التالية:
- أنشئ قائمة مسماة تسمى
bookتحتوي على ثلاثة عناصر:title، وauthor، وyear(قم بتحويل السنة إلى قيمة عددية numeric) - اطبع عنوان الكتاب باستخدام عامل التشغيل
$ - اطبع سنة الكتاب باستخدام الأقواس المربعة المزدوجة مع الاسم كسلسلة نصية (string)
- قم بتحديث
yearلتكون بعد عام واحد باستخدام عامل التشغيل$ - أضف عنصراً جديداً يسمى
availableبالقيمةTRUE - اطبع القائمة المحدثة كاملة
على سبيل المثال، إذا كانت المدخلات هي:
1984
George Orwell
1949يجب أن تكون المخرجات:
[1] "1984"
[1] 1949
$title
[1] "1984"
$author
[1] "George Orwell"
$year
[1] 1950
$available
[1] TRUEالشرح:
book$titleيطبع قيمة العنوانbook[["year"]]يطبع السنة الأصلية- يتم تحديث السنة من 1949 إلى 1950
- تمت إضافة عنصر
availableجديد بالقيمةTRUE
ورقة مرجعية
يمكن أن تحتوي القوائم على أسماء مخصصة لعناصرها لتحسين إمكانية القراءة والوصول إليها عبر تسميات ذات معنى.
قم بإنشاء قائمة مسماة عن طريق تعيين الأسماء أثناء الإنشاء:
person <- list(name = "Alice", age = 25, active = TRUE)الوصول إلى العناصر المسماة باستخدام عامل التشغيل $:
person$age # يعيد 25الوصول إلى العناصر المسماة باستخدام الأقواس المزدوجة مع الاسم كسلسلة نصية:
person[["name"]] # يعيد "Alice"تعديل العناصر المسماة الموجودة:
person$age <- 26إضافة عناصر مسماة جديدة:
person$city <- "Paris"جرّب بنفسك
# قراءة المدخلات
con <- file("stdin", "r")
title <- suppressWarnings(readLines(con, n = 1))
author <- suppressWarnings(readLines(con, n = 1))
year <- suppressWarnings(readLines(con, n = 1))
close(con)
# TODO: اكتب كودك أدناه
# 1. قم بإنشاء قائمة مسماة تسمى 'book' تحتوي على العناصر: title و author و year (قم بتحويل year إلى قيمة عددية)
# 2. اطبع عنوان الكتاب باستخدام عامل التشغيل $
# 3. اطبع سنة الكتاب باستخدام الأقواس المربعة المزدوجة مع الاسم كسلسلة نصية
# 4. قم بتحديث السنة لتكون بعد عام واحد باستخدام عامل التشغيل $
# 5. أضف عنصراً جديداً يسمى 'available' بقيمة TRUE
# 6. اطبع القائمة المحدثة كاملةيتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الثاني
المعاملات المنطقية (AND, OR)المعاملات المنطقية - الجزء الثاني (NOT)مراجعة - المنطق البسيطالمنطق المتجهي - الجزء الأولالمنطق المتجهي - الجزء الثاني2المتغيرات وأنواع البيانات
نوع البيانات الرقمينوع البيانات الصحيحنوع البيانات الحرفينوع البيانات المنطقيالتحقق من أنواع البياناتقواعد التسميةالقيم المفقودة: NAملخص - إنشاء المتغيرات8الحلقات التكرارية
حلقة Forحلقة Whileجملة Breakجملة Next (Continue)مراجعة - المضروب (Factorial)توليد المتتاليات (seq, :)الحلقات المتداخلةمراجعة - الإدخال الديناميكي (Dynamic Input)11المتجهات
إنشاء المتجهات باستخدام c()الوصول إلى عناصر المتجهتعديل المتجهاتالعمليات على المتجهاتمراجعة - متجه الأسعارمراجعة - المتجه المعكوسالمتجهات المسماة14القوائم في R
إنشاء القوائمالوصول إلى عناصر القائمةتعديل القوائمالقوائم المُسماةمراجعة - قائمة المنتجات3المعاملات - الجزء الأول
المعاملات الحسابيةقسمة الأعداد الصحيحة وباقي القسمةمعاملات الإسنادملخص - عمليات رياضية بسيطةمعاملات المقارنة6أساسيات الإدخال والإخراج
طباعة المخرجاتاستخدام Cat للمخرجاتالمخرجات مع المتغيراتقراءة المدخلات باستخدام readline()أساسيات تحويل أنواع البياناتمراجعة - حاسبة العمرمراجعة - صح أم خطأ