A- ရက်စွဲမှ ဂဏန်းအဖြစ်သို့ ifelse() ကို တားဆီးပါ။


အခြေခံ R ရှိ ifelse() လုပ်ဆောင်ချက်သည် ပုံသေအားဖြင့် ရက်စွဲအရာဝတ္ထုများကို ဂဏန်းအရာဝတ္ထုများအဖြစ် ပြောင်းလဲပေးသည်။

ထိုသို့မဖြစ်ပွားစေရန်အတွက်၊ အခြားရွေးချယ်စရာအဖြစ် အောက်ပါနည်းလမ်းများထဲမှ တစ်ခုကို အသုံးပြုနိုင်ပါသည်။

နည်းလမ်း 1- Base R တွင် as.character() ကိုသုံးပါ။

 df$date <- as. Date (ifelse(df$date < ' 2022-01-20 ',
                   as. character (df$date+5),
                   as. character (df$date)))

နည်းလမ်း 2- dplyr တွင် if_else() ကိုသုံးပါ။

 df$date <- if_else(df$date < ' 2022-01-20 ', df$date+5, df$date)

နည်းလမ်း 3- data.table တွင် fifelse() ကိုသုံးပါ။

 df$date <- fifelse(df$date < ' 2022-01-20 ', df$date+5, df$date)

အောက်ဖော်ပြပါ ဥပမာများသည် R ရှိ ဒေတာဘောင်ဖြင့် လက်တွေ့တွင် နည်းလမ်းတစ်ခုစီကို အသုံးပြုနည်းကို ပြသသည်-

 #create data frame
df <- data. frame (date=as. Date (c('2022-01-05', '2022-01-17', '2022-01-22',
                        '2022-01-23', '2022-01-29', '2022-02-13')),
                 sales=c(22, 35, 24, 20, 16, 19))

#view data frame
df

        dirty date
1 2022-01-05 22
2 2022-01-17 35
3 2022-01-22 24
4 2022-01-23 20
5 2022-01-29 16
6 2022-02-13 19

ဥပမာ 1- Base R တွင် as.character() ကိုသုံးပါ။

အောက်ပါကုဒ်သည် ဒေတာဘောင်၏ ရက်စွဲ ကော်လံတွင် if else ကြေညာချက်ကို လုပ်ဆောင်ရန် R base ifelse() လုပ်ဆောင်ချက်ဖြင့် as.character() လုပ်ဆောင်ချက်ကို အသုံးပြုပုံကို ပြသပြီး ရလဒ်အဖြစ် ရက်စွဲတစ်ခုကို ထုတ်ပေးသည်-

 #if date is before 2022-01-20 then add 5 days
df$date <- as. Date (ifelse(df$date < ' 2022-01-20 ',
                   as. character (df$date+5),
                   as. character (df$date)))

#view updated data frame
df

        dirty dates
1 2022-01-10 22
2 2022-01-22 35
3 2022-01-22 24
4 2022-01-23 20
5 2022-01-29 16
6 2022-02-13 19

ရက်စွဲ ကော်လံရှိတန်ဖိုးသည် 01/20/2022 မတိုင်မီဖြစ်ပါက၊ ကျွန်ုပ်တို့သည် ရက်စွဲသို့ ငါးရက်ပေါင်းထည့်ပါသည်။

ရက်စွဲ ကော်လံသည် နံပါတ်ဖော်မတ်သို့ ပြောင်းလဲမည့်အစား ၎င်း၏ရက်စွဲဖော်မတ်ကို ထိန်းသိမ်းထားကြောင်း သတိပြုပါ။

ဥပမာ 2- dplyr တွင် if_else() ကိုသုံးပါ။

အောက်ပါကုဒ်သည် ဒေတာဘောင်ရှိ ရက်စွဲ ကော်လံတွင် if else ကြေညာချက်ကို လုပ်ဆောင်ရန် dplyr ၏ if_else() လုပ်ဆောင်ချက်ကို မည်သို့အသုံးပြုရမည်ကို ပြသပြီး ရလဒ်အနေဖြင့် ရက်စွဲတစ်ခုထုတ်ပေးသည်-

 library (dplyr)

#if date is before 2022-01-20 then add 5 days
df$date <- if_else(df$date < ' 2022-01-20 ', df$date+5, df$date)

#view updated data frame
df

        dirty date
1 2022-01-10 22
2 2022-01-22 35
3 2022-01-22 24
4 2022-01-23 20
5 2022-01-29 16
6 2022-02-13 19

ရက်စွဲ ကော်လံရှိတန်ဖိုးသည် 01/20/2022 မတိုင်မီဖြစ်ပါက၊ ကျွန်ုပ်တို့သည် ရက်စွဲသို့ ငါးရက်ပေါင်းထည့်ပါသည်။

ရက်စွဲ ကော်လံသည် နံပါတ်ဖော်မတ်သို့ ပြောင်းလဲမည့်အစား ၎င်း၏ရက်စွဲဖော်မတ်ကို ထိန်းသိမ်းထားကြောင်း သတိပြုပါ။

ဥပမာ 3- data.table တွင် fifelse() ကိုသုံးပါ။

အောက်ပါကုဒ်သည် data.table ၏ fifelse() လုပ်ဆောင်ချက်ကို မည်သို့အသုံးပြုရမည်ကို ပြသသည် ဒေတာဘောင်ရှိ ရက်စွဲ ကော်လံတွင် if else ကြေညာချက်ကို လုပ်ဆောင်ပြီး ရလဒ်အနေဖြင့် ရက်စွဲတစ်ခုထုတ်ပေးသည်-

 library (data.table)

#if date is before 2022-01-20 then add 5 days
df$date <- fifelse(df$date < ' 2022-01-20 ', df$date+5, df$date)

#view updated data frame
df

        dirty dates
1 2022-01-10 22
2 2022-01-22 35
3 2022-01-22 24
4 2022-01-23 20
5 2022-01-29 16
6 2022-02-13 19

ရက်စွဲ ကော်လံရှိတန်ဖိုးသည် 01/20/2022 မတိုင်မီဖြစ်ပါက၊ ကျွန်ုပ်တို့သည် ရက်စွဲသို့ ငါးရက်ပေါင်းထည့်ပါသည်။

တစ်ဖန်၊ ရက်စွဲ ကော်လံသည် နံပါတ်ဖော်မတ်သို့ ပြောင်းလဲမည့်အစား ၎င်း၏ရက်စွဲဖော်မတ်ကို ဆက်လက်ထိန်းသိမ်းထားသည်။

မှတ်ချက် – အလွန်ကြီးမားသောဒေတာဘောင်များအတွက်၊ dplyr နှင့် data.table နည်းလမ်းများသည် base R နည်းလမ်းထက် ပိုမြန်ပါလိမ့်မည်။

ထပ်လောင်းအရင်းအမြစ်များ

အောက်ဖော်ပြပါ သင်ခန်းစာများသည် R တွင် အခြားဘုံအလုပ်များကို မည်သို့လုပ်ဆောင်ရမည်ကို ရှင်းပြသည်-

R တွင် If Else ကြေငြာချက် nested ကိုဘယ်လိုရေးရမလဲ
R တွင် case statement ကိုဘယ်လိုရေးရမလဲ
R တွင် ဒေတာဘောင်သို့ ကော်လံများစွာထည့်နည်း

မှတ်ချက်တစ်ခုထည့်ပါ။

သင့် email လိပ်စာကို ဖော်ပြမည် မဟုတ်ပါ။ လိုအပ်သော ကွက်လပ်များကို * ဖြင့်မှတ်သားထားသည်