R: استخراج السلسلة الفرعية من نهاية السلسلة


يمكنك استخدام الطرق التالية لاستخراج سلسلة فرعية في R بدءًا من نهاية السلسلة:

الطريقة الأولى: استخدم Base R

 #define function to extract n characters starting from end
substr_end <- function (x, n){
  substr(x, nchar(x)-n+ 1 , nchar(x))
}

#extract 3 characters starting from end
substr_end(my_string, 3 )

الطريقة الثانية: استخدم حزمة stringr

 library (stringr)

#extract 3 characters starting from end 
str_sub(my_string, start = - 3 )

يقوم هذان المثالان باستخراج الأحرف الثلاثة الأخيرة من السلسلة التي تسمى my_string .

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

 #create data frame
df <- data. frame (team=c('Mavericks', 'Lakers', 'Hawks', 'Nets', 'Warriors'),
                 dots=c(100, 143, 129, 113, 123))

#view data frame
df

       team points
1 Mavericks 100
2 Lakers 143
3 Hawks 129
4 Nets 113
5 Warriors 123

مثال 1: استخراج السلسلة الفرعية من النهاية باستخدام Base R

يوضح التعليمة البرمجية التالية كيفية تحديد وظيفة مخصصة في قاعدة R ثم استخدام الوظيفة لاستخراج الأحرف الثلاثة الأخيرة من كل سلسلة في عمود الفريق :

 #define function to extract n characters starting from end
substr_end <- function (x, n){
  substr(x, nchar(x)-n+ 1 , nchar(x))
}

#create new column that extracts last 3 characters from team column
df$team_last3 <- substr_end(my_string, 3 )

#view updated data frame
df

       team points team_last3
1 Mavericks 100 cks
2 Lakers 143ers
3 Hawks 129 wks
4 Nets 113 ets
5 Warriors 123 gold

لاحظ أن العمود الجديد المسمى team_last3 يحتوي على الأحرف الثلاثة الأخيرة من كل سلسلة في عمود الفريق بإطار البيانات.

مثال 2: استخراج السلسلة الفرعية من النهاية باستخدام حزمة stringr

يوضح التعليمة البرمجية التالية كيفية استخدام الدالة str_sub() من حزمة stringr في R لاستخراج الأحرف الثلاثة الأخيرة من كل سلسلة في عمود الفريق :

 library (stringr)

#create new column that extracts last 3 characters from team column
df$team_last3 <- str_sub(df$team, start = - 3 )

#view updated data frame
df

       team points team_last3
1 Mavericks 100 cks
2 Lakers 143ers
3 Hawks 129 wks
4 Nets 113 ets
5 Warriors 123 gold

لاحظ أن العمود الجديد المسمى team_last3 يحتوي على الأحرف الثلاثة الأخيرة من كل سلسلة في عمود الفريق بإطار البيانات.

وهذا يتوافق مع نتائج الطريقة السابقة باستخدام أساس R.

ذات صلة : مقدمة إلى وظيفة str_sub في R

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في R:

كيفية تحديد الأعمدة التي تحتوي على سلسلة محددة في R
كيفية إزالة الأحرف من سلسلة في R
كيفية العثور على موقع الحرف في سلسلة في R

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *