הקדמה
הפונקציות 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
' הוחלפו (כולל ההופעות במחרוזת "Comprehensive R Archive Network"
וב־"CRAN"
). הפונקציה gsub()
מוצאת כל מילה התואמת לפרמטר ומחליפה אותה במילה או בערכים שהוזנו.
שימוש בפונקציה 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