كيفية استخدام str_split في r (مع أمثلة)
يمكن استخدام الدالة str_split() لحزمة stringr في R لتقسيم سلسلة إلى أجزاء متعددة. تستخدم هذه الوظيفة بناء الجملة التالي:
str_split(سلسلة، نمط)
ذهب:
- السلسلة: ناقل الحرف
- النمط: النمط الذي يتم التقسيم عليه
وبالمثل، يمكن استخدام الدالة str_split_fixed() من حزمة stringr لتقسيم سلسلة إلى عدد ثابت من القطع. تستخدم هذه الوظيفة بناء الجملة التالي:
str_split_fixed(سلسلة، نمط، ن)
ذهب:
- السلسلة: ناقل الحرف
- النمط: النمط الذي يتم التقسيم عليه
- n: عدد القطع المراد إرجاعها
يقدم هذا البرنامج التعليمي أمثلة لاستخدام كل من هذه الوظائف في إطار البيانات التالي:
#create data frame df <- data. frame (team=c('andy & bob', 'carl & doug', 'eric & frank'), dots=c(14, 17, 19)) #view data frame df team points 1 andy & bob 14 2 carl & doug 17 3 eric & frank 19
مثال 1: تقسيم سلسلة باستخدام str_split()
يوضح التعليمة البرمجية التالية كيفية تقسيم السلسلة في عمود “الفريق” باستخدام الدالة str_split() :
library (stringr) #split the string in the team column on " & " str_split(df$team, " & ") [[1]] [1] “andy” “bob” [[2]] [1] “carl” “doug” [[3]] [1] “eric” “frank”
والنتيجة هي قائمة من ثلاثة عناصر تظهر أسماء اللاعبين الفرديين في كل فريق.
المثال 2: تقسيم سلسلة باستخدام str_split_fixed()
يوضح التعليمة البرمجية التالية كيفية تقسيم السلسلة في عمود “الفريق” إلى قطعتين ثابتتين باستخدام الدالة str_split_fixed() :
library (stringr)
#split the string in the team column on " & "
str_split_fixed(df$team, " & ", 2)
[,1] [,2]
[1,] “andy” “bob”
[2,] "carl" "doug"
[3,] "eric" "frank"
والنتيجة هي مصفوفة ذات عمودين وثلاثة صفوف.
أحد التطبيقات المفيدة للدالة str_split_fixed() هو إلحاق المصفوفة الناتجة بنهاية إطار البيانات. على سبيل المثال:
library (stringr)
#split the string in the team column and append resulting matrix to data frame
df[, 3:4] <- str_split_fixed(df$team, " & ", 2)
#view data frame
df
team points V3 V4
1 andy & bob 14 andy bob
2 carl & doug 17 carl doug
3 eric & frank 19 eric frank
يعرض العمود المسمى “V3” اسم لاعب الفريق الأول ويعرض العمود المسمى “V4” اسم لاعب الفريق الثاني.
مصادر إضافية
كيفية استخدام str_replace في R
كيفية إجراء مطابقة السلسلة الجزئية في R
كيفية تحويل السلاسل إلى تواريخ في R
كيفية تحويل الحرف إلى رقمي في R