تحويل الأعمدة بعدة مجموعات باستخدام r – pivot_longer
تعد عملية إعادة تشكيل البيانات خطوة أساسية في تحليل البيانات، حيث تساعد في تحويل البيانات غير المنظمة إلى شكل أكثر قابلية للاستخدام والاستيعاب. يعد استخدام دالة pivot_longer()
في لغة البرمجة R من الأدوات الممتازة لتحقيق ذلك. ستتناول هذه المقالة كيفية استخدام هذه الدالة لإعادة هيكلة مجموعات من البيانات المنفصلة وغير المرتبطة.
الفهم الأساسي لدالة pivot_longer()
تُستخدم دالة pivot_longer()
لتحويل البيانات من شكلها العريض إلى الشكل الطويل. على سبيل المثال، عندما تحتوي مجموعة بيانات على أعمدة متعددة تعكس جوانب مختلفة من نفس المتغير، يمكن استخدام pivot_longer()
لتجميع هذه الأعمدة في شكل واحد. لكن ماذا لو كانت لدينا مجموعات من الأعمدة غير مرتبطة، كما هو الحال في السيناريو الذي لدينا والذي يتضمن مجموعتين من الأعمدة؟
التحديات في استخدام دالة pivot_longer() مع مجموعتين منفصلتين
عندما نتعامل مع مجموعات من الأعمدة غير المرتبطة، فإن استخدام pivot_longer()
قد يكون أكثر تعقيدًا. في سيناريو معين، لدينا مجموعة بيانات تحتوي على معلومات عن مجموعة من الحيوانات والنباتات، حيث تم دمجها في إطار بيانات واحد. الهدف هو فصل هذه المعلومات بحيث يمكن استخدامها بشكل فردي، دون فقدان الكفاءة في عملية التحويل.
الخطوات اللازمة لفك الارتباط باستخدام pivot_longer()
لتحقيق ذلك، يمكننا اتباع مجموعة من الخطوات التي تشمل:
- استخدام دالة unite(): لدمج الأعمدة غير المرتبطة إلى أعمدة جديدة تعكس كل مجموعة بشكل منفصل.
- تطبيق pivot_longer(): بعد دمج الأعمدة، يمكننا استخدام
pivot_longer()
لجمع البيانات في شكل طويل. - فصل البيانات باستخدام دالة separate(): بعد تطبيق
pivot_longer()
, يمكن استخدام دالةseparate()
لفصل المعلومات إلى أعمدتها الأصلية. - التخلص من القيم المفقودة: يجب القيام بمعالجة القيم المفقودة، مثل تغيير القيم "NA" إلى NA الفعلية.
الاستفادة من حلول بديلة
عند مواجهة صعوبات في تطبيق pivot_longer()
على المجموعات غير المرتبطة، يمكن التفكير في طرق بديلة. يمكن للفرد إنشاء إطاري بيانات مفصولين لكل مجموعة من الأعمدة، ثم دمج النتائج باستخدام bind_rows()
. هذه الطريقة قد تكون أبسط من الناحية البرمجية، لكنها قد تعتبر مكلفة من حيث الأداء إذا كانت مجموعة البيانات كبيرة.
مثال عملي حول استخدام pivot_longer()
لنفترض أن لدينا مجموعة بيانات تحتوي على الأعمدة التالية: "اسم النبات"، "نوع النبات"، "اسم الحيوان"، "سرعة الحيوان". بعد تطبيق الدوال المذكورة، يجب أن نحصل على مجموعة بيانات منظمة تحتوي على معلومات واضحة وقابلة للتحليل فيما يتعلق بالحيوانات والنباتات.
فيما يلي مثال مبسط لكود R الذي يمكن استخدامه لتحقيق ذلك:
library(dplyr)
library(tidyr)
# البيانات الأصلية
dat <- data.frame(
Animal = c("Duck", "Horse", "Grass"),
Info_Animal = c("Wet", "Fast", "NA"),
Plant = c("Bush", "NA", "Algae"),
Info_Plant = c("Dense", "NA", "Weed")
)
# تحويل البيانات باستخدام unite وpivot_longer
result <- dat %>%
unite("Plant_Info", Plant, Info_Plant, sep = "_", na.rm = TRUE) %>%
unite("Animal_Info", Animal, Info_Animal, sep = "_", na.rm = TRUE) %>%
pivot_longer(everything(), names_to = "Class")
# عرض النتيجة
print(result)
الخاتمة
في الختام، يمكن القول أن استخدام دالة pivot_longer()
مع مجموعات من الأعمدة غير المرتبطة يتطلب بعض التفكير الإبداعي والابتكار في استراتيجيات التحويل. من خلال اتباع الخطوات المذكورة وتطبيق الحلول البديلة عند الحاجة، يمكنك تحقيق نتائج مرضية ومفيدة في عملية إعادة تشكيل البيانات. لا تتردد في استكشاف المزيد من الوظائف التي تقدمها مكتبة tidyverse
في R لتعزيز مهارات تحليل البيانات لديك.