محتويات الدورة

برمجة R / أسس اللغة والبيانات / الدرس 4

القوائم وإطارات البيانات والعوامل

اختر بنية تحفظ معنى الأعمدة وحبة المشاهدة ودلالة الفئات.

وقت القراءة التقريبي: 4 دقيقةتاريخ مراجعة المحتوى
في هذه الصفحة

أهداف الدرس

  • تمييز مكون القائمة عن جزء منها.
  • فحص أعمدة الإطار وهوية المشاهدات.
  • فصل مستويات العامل عن القياسات العددية.

تحتوي القائمة كائنات غير متجانسة

للمتجه الذري نوع مشترك، بينما تضم القائمة مكونات بأنواع وأطوال وبنى مختلفة. يمكن للسجل احتواء معرف نصي ومتجه قياسات دون تحويلهما إلى نص واحد. تصف الأسماء المعنى ويجعل [[ الدقيق العقد البرمجي أوضح من الاعتماد على المطابقة الجزئية. تعيد نماذج وملخصات كثيرة قوائم منظمة. افحص الناتج قبل افتراض كونه جدولاً مستطيلاً؛ فمكون اسمه values ليس بالضرورة قيمة لكل مشاهدة، بل يجب توثيق مستوى تمثيله.

يمثل إطار البيانات علاقة مستطيلة

إطار البيانات بنية شبيهة بالقائمة بأعمدة متساوية عدد الصفوف لمشاهدات متحاذية، وقد تختلف أنواعها. يقارن المثال جزء قائمة بعنصرها العددي ثم ينشئ إطاراً بعمودين. يمثل كل صف عنصراً اصطناعياً. احفظ معرفاً مستقراً صريحاً لا أسماء الصفوف أو مواضعها كهويات دائمة. يجب تصفية الصفوف وترتيبها كاملة عند ارتباط الأعمدة. قد يحفظ ترتيب عمود منفرد الأبعاد ويدمر علاقة المعرف بالقياس.

r برنامج توضيحي بلغة R الأساسية؛ لم تتوفر بيئة R أثناء المراجعة
record <- list(id = "sample-1", measurements = c(2, 4))
part <- record["measurements"]
values <- record[["measurements"]]
cat("part class=", class(part), "; values length=", length(values), "\n", sep = "")
records <- data.frame(id = c("a", "b"), score = c(2, 4), stringsAsFactors = FALSE)
cat("rows=", nrow(records), "; columns=", ncol(records), "\n", sep = "")
cat("score mean=", mean(records[["score"]]), "\n", sep = "")
الناتج المتوقع
part class=list; values length=2
rows=2; columns=2
score mean=3

قد تختلف أحجام مكونات سجل واحد، بينما يرتب إطار البيانات أعمدة متساوية الطول في مشاهدات.

لا تعني سهولة البناء فحص المخطط

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

يرمز العامل إلى مفردات فئوية معلنة

يخزن العامل رموز الفئات وصفة levels، ويضيف العامل المرتب ترتيباً معلناً. يحدد المثال low وmedium وhigh بهذا الترتيب رغم غياب high، ويحتفظ الجدول بعدد صفر لها. تحدد الرموز اثنان وواحد واثنان مواضع المفردات؛ ومتوسطها يخترع مسافات بين الفئات. يلائم العامل النمذجة أو الجدولة، لكنه ليس بديلاً مكافئاً للنص الحر أو القياس العددي. حدد سياسة الوسوم الجديدة قبل التحويل كيلا يخفي فقد عرضي تغير المفردات.

r برنامج توضيحي بلغة R الأساسية؛ لم تتوفر بيئة R أثناء المراجعة
grade <- factor(c("medium", "low", "medium"),
                levels = c("low", "medium", "high"), ordered = TRUE)
cat("codes=", paste(as.integer(grade), collapse = ","), "\n", sep = "")
cat("labels=", paste(as.character(grade), collapse = ","), "\n", sep = "")
cat("counts=", paste(as.integer(table(grade)), collapse = ","), "\n", sep = "")
cat("ordered=", is.ordered(grade), "\n", sep = "")
الناتج المتوقع
codes=2,1,2
labels=medium,low,medium
counts=1,2,0
ordered=TRUE

تحفظ المستويات الصريحة فئة high غير المرصودة؛ والرموز هويات مستويات لا درجات قياس عددية.

تؤثر المستويات في التحليل والنماذج

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

الأخطاء الشائعة وإصلاحها

مُرر جزء قائمة إلى ملخص عددي

لماذا يحدث؟
احتفظ [ بغلاف قائمة بدلاً من العنصر.
كيف تصلحه؟
استخدم [[ الدقيق للمكون العددي المطلوب.
كيف تتجنب تكراره؟
افحص نوع المكون وطوله عند حد الدالة.

بقي الحجم وفقدت مطابقة المعرف والدرجة

لماذا يحدث؟
رُتب عمود مستقلاً عن الإطار.
كيف تصلحه؟
رتب الصفوف أو صفها بفهرس مشترك.
كيف تتجنب تكراره؟
افحص روابط معرف وقيمة معلومة بعد العملية.

فُسرت رموز العامل كقياسات

لماذا يحدث؟
اختلط موضع الفئة بوسم عددي.
كيف تصلحه؟
استخدم ملخصاً فئوياً أو خريطة درجات مبررة صراحة.
كيف تتجنب تكراره؟
افصل المستويات والوسوم والوحدات.

اختبر فهمك

1. لماذا يفيد صفر لفئة high؟

اعرض الحل المشروح

يصرح بانتمائها للمفردات رغم غيابها عن الرصد الحالي. قد يجعل حذفها التقارير غير متسقة بين الفترات. احفظ المستويات غير المستخدمة أو احذفها وفق عقد تقرير أو نموذج، لا لاختصار الطباعة فحسب.

2. هل نحول المعرفين 001 و010 إلى عددين صحيحين؟

اعرض الحل المشروح

أبقهما نصين إذا كانا هويتين لا مقدارين؛ فالتحويل يفقد الأصفار ويكسر الربط أو المراجع الخارجية. افحص الصيغة والتفرد بصورة مستقلة عن أعمدة القياس.

أهم ما تعلمته

  • تمثل القائمة والإطار عقدين مختلفين.
  • تحفظ هوية المشاهدة عبر عمليات الصفوف.
  • لا تعرف رموز العامل مسافة عددية بين الفئات.

المراجع الرسمية