البرمجة

تحسين عمليات الدمج في R باستخدام تسميات مخصصة

عندما نقوم بدمج إطاري بيانات في لغة البرمجة R، قد نواجه تحدياً يتمثل في ظهور أعمدة إضافية بأسماء مختلفة مثل .x و .y. في مثالك، قمت بدمج إطاري بيانات mtcars باستخدام left_join ووجدت أن هناك إضافة للأعمدة تمثلها .x و .y. لتجنب ذلك ولتسمية الأعمدة بأسماء أخرى، يمكنك اتباع بعض الخطوات.

أولاً، يمكنك تحديد الأعمدة التي تريد الاحتفاظ بها بشكل منفصل. في مثالك، يبدو أنك ترغب في الاحتفاظ بأعمدة “mpg” و “cyl”. لذا يمكنك استخدام الكود التالي:

R
library(dplyr) result <- left_join(mtcars, mtcars[, c("mpg", "cyl")], by = c("cyl"))

ثم يمكنك إعادة تسمية الأعمدة بشكل مخصص باستخدام وظيفة rename:

R
result <- result %>% rename(original_mpg = mpg, new_mpg = mpg.y)

بهذه الطريقة، يمكنك تسمية الأعمدة بالأسماء التي تناسبك، وبدون الحاجة إلى التعامل مع .x و .y. الناتج النهائي سيحتوي على الأعمدة “original_mpg” و “new_mpg” بدلاً من “mpg.x” و “mpg.y”.

المزيد من المعلومات

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

لتوضيح أكثر، في المثال الخاص بك، قمت بدمج إطار البيانات mtcars مع نفسه باستخدام left_join استنادًا إلى العمود “cyl”. النتيجة كانت أعمدة إضافية بأسماء “.x” و “.y” تمثل القيم من الإطارين الأصليين.

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

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

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

زر الذهاب إلى الأعلى