البرمجة

تنظيف أسماء الأعمدة في R

عند قراءتك لمجموعة من ملفات CSV في R، تجد أن العناوين تحتوي على أشياء مثل “sales – thousands” وتظهر في R على النحو التالي “sales…thousands”. ترغب في استخدام تعبير منتظم (أو طريقة بسيطة أخرى) لتنظيف هذه العناوين.

السبب الذي قد يؤدي إلى عدم عمل الكود الأول الذي قمت بتجربته هو أن الوظيفة التي كتبتها colClean لا تقوم بإرجاع شيء. ببساطة، إنها تقوم بتعديل الأسماء الخاصة بالأعمدة في المتغير x المرسل لها دون أن تقوم بإرجاع المتغير x نفسه المعدل. لذلك، يجب عليك إما تغيير الوظيفة colClean لترجع المتغير x بعد التعديل أو حفظ النتيجة في متغير جديد. لنقم بتعديل الوظيفة لترجع القيمة المعدلة:

R
# تعريف البيانات التجريبية a <- data.frame(this.is.fine = letters[1:5], this...one...isnt = LETTERS[1:5]) # طباعة أسماء الأعمدة قبل التعديل colnames(a) # وظيفة لتنظيف الأسماء colClean <- function(x){ colnames(x) <- gsub("\\.\\.+", ".", colnames(x)) return(x) # يجب إعادة القيمة المعدلة } # تشغيل الوظيفة a <- colClean(a) # طباعة أسماء الأعمدة بعد التعديل colnames(a)

هذا الكود الآن يجب أن يؤدي إلى تغيير الأسماء كما تريد. تذكر أن هذه الوظيفة تقوم بإرجاع المتغير المعدل، وبالتالي يجب عليك حفظ القيمة المعادة من الوظيفة لكي تتمكن من استخدام البيانات بشكل صحيح بعد التعديلات.

وبالنسبة لترك فقط نقطة واحدة بين الكلمات، يمكنك استخدام النسخة المعدلة من الوظيفة colClean أو استخدام الطريقة التي اتبعتها في الكود الثاني الذي كتبته، والذي يقوم بتعديل أسماء الأعمدة مباشرة.

أتمنى أن يكون هذا مفيداً بالنسبة لك وأن يساعدك في تنظيف الأسماء بشكل صحيح.

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

عند قراءتك لمجموعة من ملفات CSV في R، تجد أن العناوين تحتوي على أشياء مثل “sales – thousands” وتظهر في R على النحو التالي “sales…thousands”. ترغب في استخدام تعبير منتظم (أو طريقة بسيطة أخرى) لتنظيف هذه العناوين.

السبب الذي قد يؤدي إلى عدم عمل الكود الأول الذي قمت بتجربته هو أن الوظيفة التي كتبتها colClean لا تقوم بإرجاع شيء. ببساطة، إنها تقوم بتعديل الأسماء الخاصة بالأعمدة في المتغير x المرسل لها دون أن تقوم بإرجاع المتغير x نفسه المعدل. لذلك، يجب عليك إما تغيير الوظيفة colClean لترجع المتغير x بعد التعديل أو حفظ النتيجة في متغير جديد. لنقم بتعديل الوظيفة لترجع القيمة المعدلة:

R
# تعريف البيانات التجريبية a <- data.frame(this.is.fine = letters[1:5], this...one...isnt = LETTERS[1:5]) # طباعة أسماء الأعمدة قبل التعديل colnames(a) # وظيفة لتنظيف الأسماء colClean <- function(x){ colnames(x) <- gsub("\\.\\.+", ".", colnames(x)) return(x) # يجب إعادة القيمة المعدلة } # تشغيل الوظيفة a <- colClean(a) # طباعة أسماء الأعمدة بعد التعديل colnames(a)

هذا الكود الآن يجب أن يؤدي إلى تغيير الأسماء كما تريد. تذكر أن هذه الوظيفة تقوم بإرجاع المتغير المعدل، وبالتالي يجب عليك حفظ القيمة المعادة من الوظيفة لكي تتمكن من استخدام البيانات بشكل صحيح بعد التعديلات.

وبالنسبة لترك فقط نقطة واحدة بين الكلمات، يمكنك استخدام النسخة المعدلة من الوظيفة colClean أو استخدام الطريقة التي اتبعتها في الكود الثاني الذي كتبته، والذي يقوم بتعديل أسماء الأعمدة مباشرة.

هذه الخطوات يمكن أن تساعدك في تنظيف الأسماء بشكل صحيح، وهو خطوة مهمة في تحسين جودة البيانات وتسهيل عملية التحليل في برنامج R.

مقالات ذات صلة

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

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر