R တွင် grep() နှင့် grepl() ကို နှိုင်းယှဉ်ခြင်း- ကွာခြားချက်ကား အဘယ်နည်း။
R တွင် လူများ မကြာခဏ ရှုပ်ထွေးစေသော လုပ်ဆောင်ချက် နှစ်ခုမှာ grep() နှင့် grepl() ဖြစ်သည်။ လုပ်ဆောင်ချက်နှစ်ခုလုံးသည် string တစ်ခုတွင် အချို့သောပုံစံရှိမရှိ သိနိုင်သော်လည်း ၎င်းတို့သည် မတူညီသောရလဒ်များကို ပြန်ပေးသည်-
- grepl() သည် စာကြောင်းတစ်ခုတွင် ပုံစံတစ်ခုရှိသောအခါ TRUE ပြန်ပေးသည်။
- grep() သည် ပုံစံပါရှိသော string indices ၏ vector တစ်ခုကို ပြန်ပေးသည်။
အောက်ဖော်ပြပါ ဥပမာသည် ဤခြားနားချက်ကို ဖော်ပြသည်။
#create a vector of data data <- c('P Guard', 'S Guard', 'S Forward', 'P Forward', 'Center') grep ('Guard', data) [1] 1 2 grepl ('Guard', data) [1] TRUE TRUE FALSE FALSE FALSE
အောက်ဖော်ပြပါ ဥပမာများသည် ဤလုပ်ဆောင်ချက်များထဲမှ တစ်ခုကို အခြားတစ်ခုသို့ သင်အသုံးပြုလိုသည့်အခါတွင် ပြသသည်။
grepl() ကို ဘယ်အချိန်မှာ သုံးရမလဲ၊
1. အချို့သောစာကြောင်းများပါရှိသော အတန်းများကို စစ်ထုတ်ပါ။
grepl() ၏ အသုံးအများဆုံးအသုံးပြုမှုတစ်ခုမှာ လိုင်းတစ်ခုပါရှိသော ဒေတာဘောင်တစ်ခုအတွင်းရှိ အတန်းများကို စစ်ထုတ်ရန်ဖြစ်သည်-
library(dplyr) #create data frame df <- data.frame(player = c('P Guard', 'S Guard', 'S Forward', 'P Forward', 'Center'), points = c(12, 15, 19, 22, 32), rebounds = c(5, 7, 7, 12, 11)) #filter rows that contain the string 'Guard' in the player column df %>% filter( grepl ('Guard', player)) player points rebounds 1 P Guard 12 5 2 S Guard 15 7
ဆက်စပ်- dplyr ကို အသုံးပြု၍ အချို့သော စာကြောင်းများပါရှိသော အတန်းများကို စစ်ထုတ်နည်း
grep() ကို ဘယ်အချိန်မှာ သုံးရမလဲ၊
1. အချို့သော စာကြောင်းများပါရှိသော ကော်လံများကို ရွေးပါ။
သင်သည် grep() ကို အသုံးပြု၍ အချို့သောစာကြောင်းများပါရှိသော ဒေတာဘောင်ရှိ ကော်လံများကို ရွေးချယ်နိုင်သည်-
library(dplyr) #create data frame df <- data.frame(player = c('P Guard', 'S Guard', 'S Forward', 'P Forward', 'Center'), points = c(12, 15, 19, 22, 32), rebounds = c(5, 7, 7, 12, 11)) #select columns that contain the string 'p' in their name df %>% select( grep ('p', colnames(df))) player points 1 P Guard 12 2 S Guard 15 3S Forward 19 4P Forward 22 5 Center 32
2. အချို့သော စာကြောင်းများပါရှိသော လိုင်းအရေအတွက်ကို ရေတွက်ပါ။
အချို့သောစာကြောင်းများပါရှိသော အချက်အလက်ဘောင်တစ်ခုရှိ လိုင်းအရေအတွက်ကိုရေတွက်ရန် grep() ကို အသုံးပြုနိုင်သည်။
#create data frame df <- data.frame(player = c('P Guard', 'S Guard', 'S Forward', 'P Forward', 'Center'), points = c(12, 15, 19, 22, 32), rebounds = c(5, 7, 7, 12, 11)) #count how many rows contain the string 'Guard' in the player column length( grep ('Guard', df$player)) [1] 2
နောက်ထပ် R သင်ခန်းစာများကို ဤနေရာတွင် ရှာဖွေနိုင်ပါသည်။