كيفية تحليل البيانات النصية في R: أساسيات معالجة السلسلة

Kyfyt Thlyl Albyanat Alnsyt Fy R Asasyat M Aljt Alslslt



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

المثال 1: احصل على موضع النموذج من السلسلة باستخدام وظيفة Grep() في R

لاستخراج موضع النمط المحدد من السلسلة، يتم استخدام وظيفة grep() الخاصة بـ R.

grep('i+'، c('fix'، 'split'، 'corn n'، 'paint')، perl=TRUE، value=FALSE)

هنا، نستخدم الدالة grep() حيث يتم تحديد النمط '+i' كوسيطة ليتم مطابقتها داخل متجه السلاسل. قمنا بتعيين ناقلات الأحرف التي تحتوي على أربع سلاسل. بعد ذلك، قمنا بتعيين الوسيطة 'perl' بالقيمة TRUE التي تشير إلى أن R يستخدم مكتبة تعبير عادي متوافقة مع Perl، ويتم تحديد المعلمة 'value' بالقيمة 'FALSE' التي تستخدم لاسترداد مؤشرات العناصر في المتجه الذي يطابق النمط.







يتم عرض موضع النمط '+i' من كل سلسلة من الأحرف المتجهة في الإخراج التالي:





المثال 2: مطابقة النموذج باستخدام الدالة Gregexpr() في R

بعد ذلك، نقوم باسترداد موضع الفهرس مع طول السلسلة المعينة في R باستخدام الدالة gregexpr().





char_vec <- ج('PROGRAMMINGLANGUAGE'،'RSCRIPT')
gregexpr('GRAMM'، char_vec، useBytes = TRUE)

هنا، قمنا بتعيين المتغير 'char_vect' حيث يتم توفير السلاسل بأحرف مختلفة. بعد ذلك، قمنا بتعريف الدالة gregexpr() التي تأخذ نمط السلسلة 'GRAMM' ليطابق السلاسل المخزنة في 'char_vec'. بعد ذلك، قمنا بتعيين المعلمة useBytes بالقيمة 'TRUE'. تشير هذه المعلمة إلى أن المطابقة يجب أن تتم بايتًا بايت بدلاً من حرفًا تلو الآخر.

يمثل الإخراج التالي الذي تم استرداده من الدالة gregexpr() الفهارس وطول كل من سلاسل المتجهات:



مثال 3: حساب إجمالي الأحرف في السلسلة باستخدام وظيفة Nchar() في R

تسمح لنا طريقة nchar() التي قمنا بتنفيذها فيما يلي أيضًا بتحديد عدد الأحرف الموجودة في السلسلة:

الدقة <- nchar('عد كل حرف')
طباعة (الدقة)

هنا، نستدعي طريقة nchar() التي تم ضبطها ضمن المتغير 'Res'. يتم تزويد طريقة nchar () بسلسلة طويلة من الأحرف التي يتم حسابها بواسطة طريقة nchar () وتوفر عدد أحرف العداد في السلسلة المحددة. بعد ذلك، نقوم بتمرير المتغير “Res” إلى طريقة print()‎ لنرى نتائج طريقة nchar().

يتم تلقي النتيجة في الإخراج التالي الذي يوضح أن السلسلة المحددة تحتوي على 20 حرفًا:

المثال 4: استخراج السلسلة الفرعية من السلسلة باستخدام وظيفة Substring() في R

نستخدم طريقة السلسلة الفرعية () مع وسيطات 'البدء' و'الإيقاف' لاستخراج السلسلة الفرعية المحددة من السلسلة.

سلسلة <- سلسلة فرعية('MORNING'، 2، 4)
طباعة (شارع)

هنا، لدينا متغير 'str' ​​حيث يتم استدعاء الأسلوب substring(). تأخذ الطريقة الفرعية () السلسلة 'MORNING' كوسيطة أولى وقيمة '2' كوسيطة ثانية مما يشير إلى أنه سيتم استخراج الحرف الثاني من السلسلة، وتشير قيمة الوسيطة '4' إلى ذلك يجب استخراج الحرف الرابع. تقوم الطريقة الفرعية () باستخراج الأحرف من السلسلة الموجودة بين الموضع المحدد.

يعرض الإخراج التالي السلسلة الفرعية المستخرجة التي تقع بين الموضع الثاني والرابع في السلسلة:

المثال 5: قم بتسلسل السلسلة باستخدام وظيفة Paste() في R

يتم استخدام وظيفة اللصق () في R أيضًا لمعالجة السلسلة التي تقوم بتسلسل السلاسل المحددة عن طريق فصل المحددات.

msg1 <- 'المحتوى'
msg2 <- 'الكتابة'

لصق (msg1، msg2)

هنا، نحدد السلاسل للمتغيرين 'msg1' و'msg2'، على التوالي. بعد ذلك، نستخدم طريقة اللصق () الخاصة بـ R لربط السلسلة المتوفرة في سلسلة واحدة. تأخذ طريقة اللصق () متغير السلاسل كوسيطة وترجع السلسلة المفردة مع المسافة الافتراضية بين السلاسل.

عند تنفيذ طريقة اللصق()، يمثل الإخراج سلسلة مفردة بها مسافة.

المثال 6: تعديل السلسلة باستخدام وظيفة Substring() في R

علاوة على ذلك، يمكننا أيضًا تحديث السلسلة عن طريق إضافة السلسلة الفرعية أو أي حرف إلى السلسلة باستخدام الدالة substring() باستخدام البرنامج النصي التالي:

str1 <- 'الأبطال'
سلسلة فرعية (str1، 5، 6) <- 'ic'

القط('    سلسلة معدلة:'، str1)

قمنا بتعيين سلسلة 'الأبطال' ضمن المتغير 'str1'. بعد ذلك، نقوم بنشر طريقة السلسلة الفرعية () حيث يتم تحديد 'str1' جنبًا إلى جنب مع قيم فهرس 'البدء' و'الإيقاف' للسلسلة الفرعية. يتم تعيين الأسلوب substring() مع السلسلة الفرعية 'iz' التي يتم وضعها على الموضع المحدد داخل الوظيفة للسلسلة المحددة. بعد ذلك، نستخدم الدالة cat() الخاصة بـ R والتي تمثل قيمة السلسلة المحدثة.

يتم تحديث الإخراج الذي يعرض السلسلة بالإخراج الجديد باستخدام طريقة السلسلة الفرعية ():

المثال 7: تنسيق السلسلة باستخدام الدالة Format() في R

ومع ذلك، تتضمن عملية معالجة السلسلة في R أيضًا تنسيق السلسلة وفقًا لذلك. لهذا، نستخدم الدالة format() حيث يمكن محاذاة السلسلة وتعيين عرض السلسلة المحددة.

الموضع 1 <- التنسيق ('البرامج'، العرض = 10، الضبط = 'l')
التنسيب 2 <- التنسيق ('البرامج'، العرض = 10، ضبط = 'r')
التنسيب 3 <- التنسيق ('البرامج'، العرض = 10، ضبط = 'ج')

طباعة (الموضع 1)
طباعة (الموضع 2)
طباعة (الموضع 3)

هنا، قمنا بتعيين المتغير 'placement1' الذي يتم توفيره مع طريقة format(). نقوم بتمرير سلسلة 'البرامج' المراد تنسيقها إلى طريقة التنسيق (). يتم تعيين العرض، ويتم ضبط محاذاة السلسلة إلى اليسار باستخدام الوسيطة 'justify'. وبالمثل، نقوم بإنشاء متغيرين آخرين، 'placement2' و'placement2'، ونطبق طريقة format() لتنسيق السلسلة المقدمة وفقًا لذلك.

يعرض الإخراج ثلاثة أنماط تنسيق لنفس السلسلة في الصورة التالية بما في ذلك المحاذاة لليسار واليمين والوسط:

المثال 8: تحويل السلسلة إلى أحرف صغيرة وكبيرة في R

بالإضافة إلى ذلك، يمكننا أيضًا تحويل السلسلة إلى أحرف صغيرة وكبيرة باستخدام الدالتين tolower() وtoupper() كما يلي:

s1 <- 'الطعام الجيد والحياة الطيبة'
النتيجة 1 <- أقل (s1)

طباعة (النتيجة 1)

s2 <- 'لغة البرمجة r في '
النتيجة 2 <- الجزء العلوي (s2)

طباعة (النتيجة 2)

هنا، نقدم السلسلة التي تحتوي على الأحرف الكبيرة والصغيرة. بعد ذلك، يتم الاحتفاظ بالسلسلة في المتغير 's1'. بعد ذلك، نستدعي التابع tolower() ونمرر السلسلة 's1' بداخلها لتحويل جميع الأحرف الموجودة داخل السلسلة إلى أحرف صغيرة. ثم نقوم بطباعة نتائج الطريقة tolower() المخزنة في المتغير “result1”. بعد ذلك، قمنا بتعيين سلسلة أخرى في المتغير 's2' الذي يحتوي على كافة الأحرف بالأحرف الصغيرة. نحن نطبق طريقة toupper() على هذه السلسلة 's2' لتحويل السلسلة الموجودة إلى أحرف كبيرة.

يعرض الإخراج كلا السلاسل في الحالة المحددة في الصورة التالية:

خاتمة

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