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