Dplyr တွင် ကိန်းရှင်အမည်အဖြစ် စာကြောင်းတစ်ခုကို မည်သို့ဖြတ်သန်းရမည်နည်း။
သင်သည် dplyr တွင် ပြောင်းလဲနိုင်သောအမည်တစ်ခုအဖြစ် string တစ်ခုကိုဖြတ်သန်းရန် အောက်ပါနည်းလမ်းများထဲမှ တစ်ခုကို အသုံးပြုနိုင်သည်။
နည်းလမ်း 1- get() ကိုသုံးပါ
df %>% filter(get(my_var) == ' A ')
နည်းလမ်း 2- .data ကိုသုံးပါ။
df %>% filter(. data [[my_var]] == ' A ')
အောက်ပါဥပမာများသည် အောက်ပါဒေတာဘောင်ဖြင့် နည်းလမ်းတစ်ခုစီကို လက်တွေ့အသုံးပြုနည်းကို ပြသသည်-
#create data frame df <- data. frame (team=c('A', 'A', 'A', 'B', 'B'), points=c(99, 90, 86, 88, 95), assists=c(33, 28, 31, 39, 34), rebounds=c(30, 28, 24, 24, 28)) #view data frame df team points assists rebounds 1 A 99 33 30 2 A 90 28 28 3 A 86 31 24 4 B 88 39 24 5 B 95 34 28
ဥပမာ 1- get() ကို အသုံးပြု၍ dplyr တွင် ပြောင်းလဲနိုင်သော အမည်အဖြစ် စာကြောင်းတစ်ခုကို ဖြတ်သန်းပါ။
ကျွန်ုပ်တို့သည် dplyr ရှိ filter() လုပ်ဆောင်ချက်သို့ ပြောင်းလဲနိုင်သောအမည်အဖြစ် string တစ်ခုအား ကူးယူခြင်းဖြင့် ဒေတာဘောင်တစ်ခုကို စစ်ထုတ်ရန် ကြိုးစားပါက၊ ကျွန်ုပ်တို့သည် ဗလာဒေတာဘောင်တစ်ခုကို ရရှိလိမ့်မည်-
library (dplyr)
#define variable
my_var <- ' team '
#attempt to filter for rows where team is equal to a variable
df %>% filter(my_var == ' A ')
[1] team points assists rebounds
<0 rows> (or 0-length row.names)
၎င်းကိုရရန်နည်းလမ်းတစ်ခုမှာ get() function တွင် variable name ကို ခြုံထားခြင်းဖြစ်သည် ။
library (dplyr)
#define variable
my_var <- ' team '
#filter for rows where team is equal to a variable
df %>% filter(get(my_var) == ' A ')
team points assists rebounds
1 A 99 33 30
2 A 90 28 28
3 A 86 31 24
filter () လုပ်ဆောင်ချက်ရှိ get () လုပ်ဆောင်ချက်ကို အသုံးပြု၍ အသင်း A နှင့် ညီမျှသည့် အတန်းများအတွက်သာ ဒေတာဘောင်တန်းများကို အောင်မြင်စွာ စစ်ထုတ်နိုင်မည်ဖြစ်သည်။
ဥပမာ 2- .data ကို အသုံးပြု၍ dplyr တွင် ပြောင်းလဲနိုင်သော အမည်အဖြစ် စာကြောင်းတစ်ခုကို ပေးပို့ပါ။
dplyr ရှိ filter() လုပ်ဆောင်ချက်သို့ ပြောင်းလဲနိုင်သောအမည်အဖြစ် string တစ်ခုအား ပေးပို့ရန် နောက်တစ်နည်းမှာ အောက်ပါအတိုင်း .data လုပ်ဆောင်ချက်ကို အသုံးပြုခြင်းဖြစ်သည်-
library (dplyr)
#define variable
my_var <- ' team '
#filter for rows where team is equal to a variable
df %>% filter(. data [[my_var]] == ' A ')
team points assists rebounds
1 A 99 33 30
2 A 90 28 28
3 A 86 31 24
filter() လုပ်ဆောင်ချက်ရှိ .data လုပ်ဆောင်ချက်ကို အသုံးပြု၍ အသင်း A နှင့် ညီမျှသည့် အတန်းများအတွက်သာ ဒေတာဘောင်ရှိ အတန်းများကို အောင်မြင်စွာ စစ်ထုတ်နိုင်မည်ဖြစ်သည်။
ထပ်လောင်းအရင်းအမြစ်များ
အောက်ဖော်ပြပါ သင်ခန်းစာများသည် dplyr တွင် အခြားဘုံအလုပ်များကို မည်သို့လုပ်ဆောင်ရမည်ကို ရှင်းပြသည်-
dplyr ကိုသုံးပြီး အုပ်စုအလိုက် ပထမအတန်းကို ဘယ်လိုရွေးမလဲ။
dplyr ကို အသုံးပြု၍ အခြေအနေများစွာဖြင့် စစ်ထုတ်နည်း
dplyr ကို အသုံးပြု၍ အချို့သော စာကြောင်းများပါရှိသော အတန်းများကို စစ်ထုတ်နည်း