المقدمة
تقوم الوظائف sub()
و gsub()
في R بتبديل السلسلة أو الحروف في متجه أو إطار بيانات بسلسلة محددة. تعتبر هذه الوظائف مفيدة عند إجراء تغييرات على مجموعات بيانات كبيرة.
في هذا المقال، ستتعرف على كيفية استخدام وظائف sub()
و gsub()
في R.
المتطلبات الأساسية
لإكمال هذا البرنامج التعليمي، ستحتاج إلى:
- R installed locally or on a server.
صيغة sub()
و gsub()
الصيغة الأساسية لـ sub()
هي:
sub(pattern, replacement, x)
الصيغة الأساسية لـ gsub()
هي:
gsub(pattern, replacement, x)
تتطلب الصيغة لـ sub()
و gsub()
نمطًا، واستبدالًا، ومتجهًا أو إطار بيانات:
- النمط: النمط أو السلسلة التي ترغب في استبدالها.
- الاستبدال: سلسلة مدخلات لاستبدال سلسلة النمط.
- x: A vector or a data frame to substitute the strings.
يمكن أن يكون النمط أيضًا على شكل تعبير منتظم (regex).
الآن بعد أن أصبحت مألوفًا مع الصياغة، يمكنك الانتقال إلى التنفيذ.
وظيفة sub()
في R
وظيفة sub()
في R تستبدل السلسلة في المتجه أو إطار البيانات بالسلسلة المدخلة أو السلسلة المحددة.
ومع ذلك، القيد في وظيفة sub()
هو أنها تستبدل فقط الحد الأول من الحدوث.
1. استخدام وظيفة sub()
في هذا المثال، تعلم كيفية استبدال نمط سلسلة بسلسلة بديلة باستخدام وظيفة sub()
.
# المتجه المدخل
df<-"R is an open-source programming language widely used for data analysis and statistical computing."
# السلسلة البديلة
sub('R','The R language',df)
تشغيل هذا الأمر ينتج عنه الناتج التالي:
Output"The R language is an open-source programming language widely used for data analysis and statistical computing."
وظيفة sub()
تستبدل السلسلة 'R'
في المتجه بالسلسلة 'لغة R'
.
في هذا المثال، كان هناك حدوث واحد للتطابق مع النمط. فكر في ما يحدث إذا كانت هناك عدة حالات للتطابق مع النمط.
# المتجه المدخل
df<-"In this tutorial, we will install R and show how to add packages from the official Comprehensive R Archive Network (CRAN)."
# السلسلة البديلة
sub('R','The R language',df)
تعمل تشغيل هذا الأمر على إنتاج الناتج التالي:
"In this tutorial, we will install The R language and show how to add packages from the official Comprehensive R Archive Network (CRAN)."
في هذا المثال، يمكنك ملاحظة أن الدالة sub()
قامت بتبديل أول حدوث للسلسلة 'R'
بالسلسلة 'The R language'
. ولكن الحدوث التالي في السلسلة لا يزال كما هو.
2. استخدام الدالة sub()
مع إطار بيانات
تعمل الدالة sub()
أيضًا مع إطارات البيانات.
# إنشاء إطار بيانات
df<-data.frame(Creature=c('Starfish','Blue Crab','Bluefin Tuna','Blue Shark','Blue Whale'),Population=c(5,6,4,2,2))
# إطار بيانات
df
سينشئ هذا إطار بيانات التالي:
Creature Population
1 Starfish 5
2 Blue Crab 6
3 Bluefin Tuna 4
4 Blue Shark 2
5 Blue Whale 2
ثم قم بتبديل الأحرف 'Blue'
بالأحرف 'Green'
:
# استبدال القيم
sub('Blue','Green',df)
تعمل تشغيل هذا الأمر على إنتاج الناتج التالي:
Output"c(\"Starfish\", \"Green Crab\", \"Bluefin Tuna\", \"Blue Shark\", \"Blue Whale\")"
"c(5, 6, 4, 2, 2)"
يمكنك أيضًا تحديد عمود معين لتبديل جميع حالات 'Blue'
بـ 'Green'
:
# استبدال القيم
sub('Blue','Green',df$Creature)
تعمل تشغيل هذا الأمر على إنتاج الناتج التالي:
Output"Starfish"
"Green Crab"
"Greenfin Tuna"
"Green Shark"
"Green Whale"
تم استبدال جميع حالات الأحرف 'Blue'
بـ 'Green'
.
وظيفة gsub()
في لغة البرمجة R
تُستخدم وظيفة gsub()
في لغة البرمجة R لعمليات الاستبدال. تأخذ الوظيفة الإدخال وتستبدله ضد القيم المحددة.
على عكس وظيفة sub()
، تقوم gsub()
بتطبيق استبدال عالمي لجميع التطابقات.
1. استخدام وظيفة gsub()
في هذا المثال، تعلم كيفية استبدال نمط سلسلة بسلسلة استبدال باستخدام وظيفة gsub()
.
# متجه الإدخال
df<-"In this tutorial, we will install R and show how to add packages from the official Comprehensive R Archive Network (CRAN)."
هذه هي البيانات التي تحتوي على الحرف ‘R’ مكتوبة عدة مرات.
# استبدال القيم باستخدام gsub()
gsub('R','The R language',df)
Output"In this tutorial, we will install The R language and show how to add packages from the official Comprehensive The R language Archive Network (CThe R languageAN)."
تم استبدال جميع حالات ‘R’ (بما في ذلك الحالات في “شبكة الأرشيف الشامل للغة R” و “CRAN”). تقوم وظيفة gsub()
بالبحث عن كل كلمة تتطابق مع المعلمة واستبدالها بالكلمة أو القيمة المدخلة.
2. استخدام وظيفة gsub()
مع إطارات البيانات
تعمل أيضًا وظيفة gsub()
مع إطارات البيانات.
# إنشاء إطار بيانات
df<-data.frame(Creature=c('Starfish','Blue Crab','Bluefin Tuna','Blue Shark','Blue Whale'),Population=c(5,6,4,2,2))
لنقم بإضافة بادئة للقيم في عمود Creature
باستخدام 'Deep Sea '
:
# استبدال القيم
gsub('.*^','Deep Sea ',df$Creature)
تشغيل هذا الأمر يولد الناتج التالي:
Output"Deep Sea Starfish"
"Deep Sea Blue Crab"
"Deep Sea Bluefin Tuna"
"Deep Sea Blue Shark"
"Deep Sea Blue Whale"
في هذا المثال، تستخدم وظيفة gsub()
التعبير العادي (regex): .*^
. وهذا هو نمط للموقع في بداية السلسلة.
الختام
استكشفت في هذا المقال كيفية استخدام وظائف sub()
و gsub()
في R. تستبدل هذه الوظائف السلسلة أو الأحرف في المتجه أو إطار البيانات بسلسلة محددة. تطبق وظيفة sub()
للمطابقة الأولى. وظيفة gsub()
تطبق لجميع المطابقات.
واصل تعلمك مع كيفية استخدام replace()
في R.
Source:
https://www.digitalocean.com/community/tutorials/sub-and-gsub-function-r