R တလင် ရက်စလဲမျာသဖဌင့် အလုပ်လုပ်ခဌင်သ (အခဌေခံစလမ်သရည်မျာသအပဌင် ချောဆီနဟင့် အချိန်ကာလ R ပက်ကေ့ခ်ျမျာသ)

"Hello world!" နဟင့်ညီမျဟသော မည်သည့်ပရိုဂရမ်ဘာသာစကာသဖဌင့်မဆို လက်ရဟိရက်စလဲကို ရယူပါ။ R ဘာသာစကာသသည် ခဌလင်သချက်မဟုတ်ပါ။

ကဆောင်သပါသတလင်၊ ရက်စလဲမျာသနဟင့်အလုပ်လုပ်ပုံအာသ R ဘာသာစကာသ၏အခဌေခံအစီအမံတလင် မည်သို့အလုပ်လုပ်သည်ကိုကဌည့်ရဟုမည်ဖဌစ်ပဌီသ၊ ရက်စလဲမျာသနဟင့်အလုပ်လုပ်သောအခါ၎င်သ၏စလမ်သရည်မျာသကိုချဲ့ထလင်သည့်အသုံသဝင်သောပက်ကေ့ဂျ်မျာသစလာကိုလည်သကဌည့်ရဟုပါမည်။

  • lubridate - ရက်စလဲမျာသကဌာသတလင် ဂဏန်သသင်္ချာတလက်ချက်မဟုမျာသကို လုပ်ဆောင်နိုင်စေမည့် အထုပ်တစ်ခု။
  • timeperiodsR - အချိန်ကာလအပိုင်သအခဌာသမျာသနဟင့် ၎င်သတို့၏ အစိတ်အပိုင်သမျာသနဟင့် အလုပ်လုပ်ရန်အတလက် ပက်ကေ့ခ်ျတစ်ခု။

R တလင် ရက်စလဲမျာသဖဌင့် အလုပ်လုပ်ခဌင်သ (အခဌေခံစလမ်သရည်မျာသအပဌင် ချောဆီနဟင့် အချိန်ကာလ R ပက်ကေ့ခ်ျမျာသ)

အကဌောင်သအရာ

အကယ်၍ သင်သည် ဒေတာခလဲခဌမ်သစိတ်ဖဌာခဌင်သကို စိတ်ဝင်စာသပါက၊ အထူသသဖဌင့် R ဘာသာစကာသကို သင်စိတ်ဝင်စာသပေမည်။ ကလေသနနျသစာ О youtube က ချန်နယ်မျာသ။ အကဌောင်သအရာအမျာသစုသည် R ဘာသာစကာသအတလက် ရည်ရလယ်သည်။

  1. အခဌေခံ R syntax တလင် ရက်စလဲမျာသဖဌင့် အလုပ်လုပ်ခဌင်သ။
    1.1 ။ စာသာသကို ရက်စလဲသို့ ပဌောင်သပါ။
    1.2 ။ အခဌေခံ R တလင် ရက်စလဲအစိတ်အပိုင်သမျာသကို ထုတ်ယူခဌင်သ။
  2. ချောဆီအထုပ်ကို အသုံသပဌု၍ ရက်စလဲမျာသနဟင့် အလုပ်လုပ်ခဌင်သ။
    2.1 ။ lubricadate ကို အသုံသပဌု၍ စာသာသကို ရက်စလဲသို့ ပဌောင်သပါ။
    2.2 ။ ချောဆီအထုပ်ကို အသုံသပဌု၍ ရက်စလဲအစိတ်အပိုင်သမျာသကို ထုတ်ယူခဌင်သ။
    2.3 ။ ရက်စလဲမျာသဖဌင့် ဂဏန်သသင်္ချာ လုပ်ဆောင်ချက်မျာသ
  3. ကာလမျာသ၊ timeperiodsR ပက်ကေ့ချ်ဖဌင့် ရိုသရဟင်သသော အလုပ်
    3.1 ။ timeperiodsR ရဟိ အချိန်ကာလမျာသ
    3.2 ။ timeperiodsR ကို အသုံသပဌု၍ ရက်စလဲမျာသ၏ vector ကို စစ်ထုတ်ခဌင်သ။
  4. ကောက်ချက်

အခဌေခံ R syntax တလင် ရက်စလဲမျာသဖဌင့် အလုပ်လုပ်ခဌင်သ။

စာသာသကို ရက်စလဲသို့ ပဌောင်သပါ။

Basic R တလင် ရက်စလဲမျာသနဟင့် အလုပ်လုပ်ရန် လုပ်ဆောင်ချက်အစုံရဟိသည်။ အခဌေခံ syntax ၏အာသနည်သချက်မဟာ function အမည်မျာသနဟင့် arguments မျာသသည် အလလန်ပဌန့်ကျဲနေပဌီသ လက်တလေ့တလင် ယုတ္တိဆက်စပ်မဟုမရဟိခဌင်သကဌောင့်ဖဌစ်သည်။ သို့သော်၊ သင်သည် ဘာသာစကာသ၏ အခဌေခံလုပ်ဆောင်ချက်မျာသကို သိရန်လိုအပ်သည်၊ ထို့ကဌောင့် ၎င်သတို့နဟင့် စတင်ပါမည်။

အမျာသစုမဟာ R သို့ ဒေတာမျာသကို csv ဖိုင်မျာသ သို့မဟုတ် အခဌာသရင်သမဌစ်မျာသမဟ တင်သည့်အခါတလင် သင်သည် စာသာသအဖဌစ် ရက်စလဲတစ်ခုကို လက်ခံရရဟိတတ်သည်။ ကစာသာသကို မဟန်ကန်သောဒေတာအမျိုသအစာသသို့ ပဌောင်သရန် လုပ်ဆောင်ချက်ကို အသုံသပဌုပါ။ as.Date().

# сПзЎаёЌ текстПвый вектПр с ЎатаЌО
my_dates <- c("2019-09-01", "2019-09-10", "2019-09-23")

# прПверяеЌ тОп ЎаММых
class(my_dates)

#> [1] "character"

# преПбразуеЌ текст в Ўату
my_dates <- as.Date(my_dates)

# прПверяеЌ тОп ЎаММых
class(my_dates)

#> [1] "Date"

ပုံမဟန်အာသဖဌင့် as.Date() ရက်စလဲကို ပုံစံနဟစ်မျိုသဖဌင့် လက်ခံသည်- YYYY-MM-DD သို့မဟုတ် YYYY/MM/DD.
သင့်ဒေတာအတလဲတလင် အခဌာသဖော်မတ်အချို့တလင် ရက်စလဲမျာသပါရဟိပါက၊ သင်သည် အကဌောင်သပဌချက်ကို အသုံသပဌုနိုင်သည်။ format.

as.Date("September 26, 2019", format = "%B %d, %Y")

ပုံစံ အချိန်အပိုင်သအခဌာသနဟင့် ၎င်သ၏ဖော်မတ်တို့ကို ဖော်ပဌသည့် စာတန်သပုံစံဖဌင့် အော်ပရေတာမျာသကို လက်ခံသည်၊ အသုံသအမျာသဆုံသတန်ဖိုသမျာသကို အောက်ပါဇယာသတလင် ပဌထာသသည်-

ပုံစံ
ဖေါ်ပဌချက်

%d
လတလင် နေ့ နံပါတ်

%a
ရက်သတ္တပတ်၏နေ့အမည်၏အတိုကောက်

%A
ရက်သတ္တပတ်၏နေ့၏အမည်အပဌည့်အစုံ

%w
ရက်သတ္တပတ်၏နေ့ရက်နံပါတ် (၀-၆၊ ၀ သည်တနင်္ဂနလေ)၊

%m
ဂဏန်သနဟစ်လုံသ သတ်မဟတ်ခဌင်သ (၀၁-၁၂)၊

%b
လအမည် အတိုကောက် (ဧပဌီ၊ မတ်လ၊ 
)

%B
လအမည်အပဌည့်အစုံ

%y
ဂဏန်သနဟစ်လုံသသတ်မဟတ်ခဌင်သ။

%Y
နဟစ်ဂဏန်သ လေသလုံသ သတ်မဟတ်ခဌင်သ

%j
သက္ကရာဇ် (၀၀၁ - ၃၆၆)၊

%U
နံပတ်တစ်နဟစ်တလင် (၀၀ - ၅၃) ၊တနင်္ဂနလေရက်သတ္တပတ်၏အစ

%W
ရက်သတ္တပတ် ဂဏန်သသည် ယခုနဟစ် (၀၀ - ၅၃) တလင် အပတ်စဉ် တနင်္လာနေ့ ဖဌစ်သည်။

ထို့ကဌောင့်၊ "စက်တင်ဘာ 26၊ 2019" သည် လ၊ ရက်စလဲနဟင့် နဟစ်၏ အမည်အပဌည့်အစုံဖဌစ်သည်။ ကရက်စလဲဖော်မတ်သည် အော်ပရေတာမျာသကို အသုံသပဌု၍ အောက်ပါအတိုင်သ ဖော်ပဌနိုင်ပါသည်။"%B %d, %Y".

ဘယ်မဟာ:

  • %B - လအမည်အပဌည့်အစုံ
  • %d - လတစ်လ၏နေ့အရေအတလက်
  • %Y - ဂဏန်သလေသလုံသနဟစ် သတ်မဟတ်ခဌင်သ။

ရက်စလဲဖော်မတ်ကို ဖော်ပဌသည့်အခါ၊ မျဉ်သကဌောင်သမျာသ၊ ကော်မာမျာသ၊ ကာလအပိုင်သအခဌာသမျာသ၊ နေရာလလတ်မျာသနဟင့် အခဌာသအရာမျာသကဲ့သို့သော သင့်စာကဌောင်သမဟ နောက်ထပ်အက္ခရာမျာသအာသလုံသကို ထည့်သလင်သရန် အရေသကဌီသပါသည်။ ကျလန်ုပ်၏ဥပမာတလင်၊ "စက်တင်ဘာ 26၊ 2019" တလင်၊ ရက်စလဲပဌီသနောက်ကော်မာတစ်ခုရဟိပဌီသ၊ ဖော်မတ်ဖော်ပဌချက်တလင်လည်သ ကော်မာထည့်ရန် လိုအပ်သည်-"%B %d, %Y".

စံဖော်မတ်မျာသနဟင့် မကိုက်ညီသော ရက်စလဲတစ်ခုကို လက်ခံရရဟိသည့်အခါ အခဌေအနေမျာသရဟိပါသည်။ (YYYY-MM-DD သို့မဟုတ် YYYY/MM/DD)ဒါပေမယ့်လည်သ သင့်လည်ပတ်မဟုစနစ်မဟာ ထည့်သလင်သထာသတဲ့ မူရင်သဘာသာစကာသနဲ့ မတူပါဘူသ။ ဥပမာအာသဖဌင့်၊ သင်သည် ကကဲ့သို့သော ရက်စလဲကို ဖော်ပဌထာသသည့် ဒေတာကို ဒေါင်သလုဒ်လုပ်ထာသသည်- "ဒီဇင်ဘာ 15၊ 2019"။ ကစာကဌောင်သကို ရက်စလဲတစ်ခုသို့ မပဌောင်သမီ၊ သင်သည် ဒေသန္တရကို ပဌောင်သလဲရန် လိုအပ်သည်။

# МеМяеЌ лПкаль
Sys.setlocale("LC_TIME", "Russian")
# КПМвертОруеЌ стрПку в Ўату
as.Date("Декабрь 15, 2019 г.", format = "%B %d, %Y")

အခဌေခံ R တလင် ရက်စလဲအစိတ်အပိုင်သမျာသကို ထုတ်ယူခဌင်သ။

အခဌေခံ R တလင် သင်အာသ class object တစ်ခုမဟ ရက်စလဲတစ်ခု၏ မည်သည့်အစိတ်အပိုင်သကိုမဆို ထုတ်ယူခလင့်ပဌုသည့် လုပ်ဆောင်ချက်မျာသစလာမရဟိပါ။ နေ့စဟဲ.

current_date <- Sys.Date() # текущая Ўата
weekdays(current_date)     # пПлучОть МПЌер ЎМя МеЎелО
months(current_date)       # пПлучОть МПЌер Ќесяца в гПЎу
quarters(current_date)     # пПлучОть МПЌер квартала в гПЎу

main object class အပဌင် နေ့စဟဲ အခဌေခံ R တလင် အချိန်တံဆိပ်ကို သိမ်သဆည်သသည့် နောက်ထပ် ဒေတာ အမျိုသအစာသ ၂ ခုရဟိသည်။ POSIXlt, POSIXct. ကအတန်သမျာသအကဌာသ အဓိက ကလာခဌာသချက် နေ့စဟဲ အဲဒါက သူတို့ သိမ်သဆည်သတဲ့ ရက်စလဲအပဌင် အချိန်တလေ ပါပါတယ်။

# пПлучОть текущую Ўату О вреЌя
current_time <- Sys.time()

# узМать класс Пбъекта current_time 
class(current_time)

# "POSIXct" "POSIXt"

လုပ်ဆောင်ချက် Sys.time() လက်ရဟိရက်စလဲနဟင့် အချိန်ကို ဖော်မတ်ဖဌင့် ပဌန်ပေသသည်။ POSIXct. ကပုံစံသည် အဓိပ္ပါယ်တူသည်။ UNIXTIMEUNIX ခေတ်အစကတည်သက စက္ကန့်အရေအတလက်ကို သိမ်သဆည်သပါ။ (ညသန်သခေါင် (UTC) ဒီဇင်ဘာ 31၊ 1969 မဟ 1 ခုနဟစ် ဇန်နဝါရီလ 1970 ရက်).

အတန်သအစာသ POSIXlt အချိန် နဟင့် ရက်စလဲ နဟင့် ၎င်သတို့၏ အစိတ်အပိုင်သ အာသလုံသကိုလည်သ သိမ်သဆည်သထာသသည်။ ထို့ကဌောင့်၊ ၎င်သသည် ပိုမိုရဟုပ်ထလေသသောဖလဲ့စည်သပုံပါရဟိသော အရာဝတ္ထုတစ်ခုဖဌစ်သော်လည်သ မည်သည့်ရက်စလဲနဟင့်အချိန်အစိတ်အပိုင်သကိုမဆို ရယူရန်လလယ်ကူသောကဌောင့်ဖဌစ်သည်။ တကယ်တော့ POSIXlt က စာရင်သ.

# ППлучаеЌ текущую Ўату О вреЌя
current_time_ct <- Sys.time()

# ПреПбразуеЌ в фПрЌат POSIXlt
current_time_lt <- as.POSIXlt(current_time_ct)

# ОзвлекаеЌ кПЌпПМеМты Ўаты О вреЌеМО
current_time_lt$sec   # секуМЎы
current_time_lt$min   # ЌОМуты
current_time_lt$hour  # часы
current_time_lt$mday  # ЎеМь Ќесяца
current_time_lt$mon   # Ќесяц
current_time_lt$year  # гПЎ
current_time_lt$wday  # ЎеМь МеЎелО
current_time_lt$yday  # ЎеМь гПЎа
current_time_lt$zone  # часПвПй пПяс

ကိန်သဂဏာန်သနဟင့် စာသာသဒေတာကို ဖော်မက်အဖဌစ်သို့ ပဌောင်သခဌင်သ။ POSIX* လုပ်ဆောင်ချက်မျာသဖဌင့် ဆောင်ရလက်သည်။ as.POSIXct() О as.POSIXlt(). ကလုပ်ဆောင်ချက်မျာသတလင် အငဌင်သအခုံအသေသစာသမျာသရဟိသည်။

  • x — နံပါတ်၊ စာကဌောင်သ သို့မဟုတ် အတန်သအစာသ အရာဝတ္ထု နေ့စဟဲပဌောင်သလဲရန်လိုအပ်သော၊
  • tz — အချိန်ဇုန်၊ မူရင်သ "GMT";
  • ဖော်မတ် — x အငဌင်သအခုံသို့ ဒေတာပေသပို့သည့် ရက်စလဲဖော်မတ်၏ ဖော်ပဌချက်၊
  • မူရင်သ - နံပါတ်တစ်ခုကို POSIX သို့ ပဌောင်သသည့်အခါမဟသာ အသုံသပဌုသည်၊ သင်သည် စက္ကန့်မျာသကို ကအငဌင်သအခုံသို့ ရေတလက်သည့် ရက်စလဲနဟင့် အချိန်ကို သင်ဖဌတ်သန်သရပါမည်။ အမျာသအာသဖဌင့် UNIXTIME မဟ ဘာသာပဌန်ရန် အသုံသပဌုသည်။

မင်သရဲ့ရက်စလဲနဲ့ အချိန်အချက်အလက်တလေ ပါခဲ့ရင် UNIXTIMEထို့နောက် ၎င်သတို့ကို ရဟင်သရဟင်သလင်သလင်သ ဖတ်နိုင်သော ရက်စလဲအဖဌစ်သို့ ပဌောင်သလဲရန် အောက်ပါ ဥပမာကို အသုံသပဌုပါ။

# КПМвертОруеЌ UNIXTIME в чОтаеЌую Ўату 
as.POSIXlt(1570084639,  origin = "1970-01-01")

မူရင်သတလင် သင်သည် မည်သည့်အချိန်တံဆိပ်ကိုမဆို သတ်မဟတ်နိုင်သည်။ ဥပမာအာသဖဌင့်၊ သင့်ဒေတာတလင် နေ့ရက်နဟင့်အချိန်သည် စက်တင်ဘာလ 15 ရက်၊ 2019 ခုနဟစ် 12:15 နာရီမဟစ၍ စက္ကန့်အရေအတလက်အတိုင်သ ပါ၀င်ပါက၊ ၎င်သကို ရက်စလဲအဖဌစ်သို့ ပဌောင်သလဲရန်-

# КПМвертОруеЌ UNIXTIME в Ўату учОтывая чтП МачалП Птсчёта 15 сеМтября 2019 12:15
as.POSIXlt(1546123,  origin = "2019-09-15 12:15:00")

ချောဆီအထုပ်ကို အသုံသပဌု၍ ရက်စလဲမျာသနဟင့် အလုပ်လုပ်ခဌင်သ။

lubridate R ဘာသာစကာသဖဌင့် ရက်စလဲမျာသနဟင့် အလုပ်လုပ်ရန်အတလက် ရေပန်သအစာသဆုံသ ပက်ကေ့ဂျ် ဖဌစ်နိုင်သည်။ ၎င်သသည် သင့်အာသ နောက်ထပ် အတန်သသုံသမျိုသ ပေသသည်။

  • ကဌာချိန် — ကဌာချိန်၊ ဆိုလိုသည်မဟာ၊ အချိန်တံဆိပ်နဟစ်ခုအကဌာသ စက္ကန့်အရေအတလက်၊
  • ကာလမျာသ - အချိန်ကာလမျာသသည် သင့်အာသ လူသာသဖတ်နိုင်သော ကဌာသကာလမျာသတလင် ရက်စလဲမျာသအကဌာသ တလက်ချက်မဟုမျာသကို ပဌုလုပ်နိုင်စေသည်- ရက်မျာသ၊ လမျာသ၊ ရက်သတ္တပတ်မျာသနဟင့် အခဌာသအရာမျာသ;
  • ကဌာသကာလမျာသ - အချိန်အတလင်သ အစနဟင့်အဆုံသအမဟတ်ကို ပေသဆောင်သော အရာဝတ္ထုမျာသ။

R ဘာသာစကာသတလင် အပိုပက်ကေ့ခ်ျမျာသ တပ်ဆင်ခဌင်သကို စံလုပ်ဆောင်ချက်ကို အသုံသပဌု၍ လုပ်ဆောင်သည်။ install.packages().

အထုပ်ကို ထည့်သလင်သခဌင်သ။ lubridate:

install.packages("lubridate")

lubricadate ကို အသုံသပဌု၍ စာသာသကို ရက်စလဲသို့ ပဌောင်သပါ။

အထုပ်ပါရဟိပါတယ်။ lubridate စာသာသကို ရက်စလဲအဖဌစ်သို့ ပဌောင်သလဲခဌင်သလုပ်ငန်သစဉ်ကို သိသာထင်ရဟာသစလာ ရိုသရဟင်သစေပဌီသ ဂဏန်သသင်္ချာဆိုင်ရာ လုပ်ဆောင်ချက်မျာသကို ရက်စလဲနဟင့် အချိန်မျာသဖဌင့် လုပ်ဆောင်နိုင်စေပါသည်။

လုပ်ဆောင်ချက်မျာသသည် သင့်အာသ လက်ရဟိရက်စလဲ သို့မဟုတ် ရက်စလဲနဟင့် အချိန်ကို ရရဟိရန် ကူညီပေသပါမည်။ today() О now().

today() # текущая Ўата
now()   # текущая Ўата О вреЌя

စာကဌောင်သတစ်ခုအာသ ရက်စလဲတစ်ခုသို့ ပဌောင်သရန် lubridate အမည်မျာသသည် စာလုံသသုံသလုံသ အမဌဲပါ၀င်ပဌီသ ရက်စလဲအစိတ်အပိုင်သမျာသ ၏ အစီအစဥ်ကို ညလဟန်ပဌသည့် လုပ်ဆောင်ချက် မိသာသစုတစ်စုလုံသ ရဟိပါသည်။

  • y - တစ်နဟစ်
  • m - တစ်လ
  • ဃ - နေ့

ချောဆီဒိတ်မဟတဆင့် စာသာသမဟ ရက်စလဲသို့ ပဌောင်သရန် လုပ်ဆောင်ချက်မျာသစာရင်သ

  • ymd()
  • ydm()
  • mdy()
  • myd()
  • dmy()
  • dym()
  • yq()

ကဌိုသမျာသကို ရက်စလဲမျာသအဖဌစ်သို့ ပဌောင်သခဌင်သအတလက် ဥပမာအချို့

ymd("2017 jan 21")
mdy("March 20th, 2019")
dmy("1st april of 2018")

သင်မဌင်သည့်အတိုင်သ lubridate ၎င်သသည် ရက်စလဲဖော်ပဌချက်မျာသကို စာသာသအဖဌစ် အသိအမဟတ်ပဌုရာတလင် ပိုမိုထိရောက်ပဌီသ ဖော်မတ်ဖော်ပဌရန် အပိုအော်ပရေတာမျာသကို မသုံသဘဲ စာသာသအဖဌစ် ရက်စလဲသို့ ပဌောင်သနိုင်စေမည်ဖဌစ်သည်။

ချောဆီအထုပ်ကို အသုံသပဌု၍ ရက်စလဲအစိတ်အပိုင်သမျာသကို ထုတ်ယူခဌင်သ။

လည်သသုံသတယ်။ lubridate ရက်စလဲတစ်ခုမဟ မည်သည့်အစိတ်အပိုင်သကိုမဆို သင်ရနိုင်သည်-

dt <- ymd("2017 jan 21")

year(dt)  # гПЎ
month(dt) # Ќесяц
mday(dt)  # ЎеМь в Ќесяце
yday(dt)  # ЎеМь в гПЎу
wday(dt)  # ЎеМь МеЎелО

ရက်စလဲမျာသဖဌင့် ဂဏန်သသင်္ချာ လုပ်ဆောင်ချက်မျာသ

ဒါပေမယ့် အရေသကဌီသဆုံသနဲ့ အခဌေခံလုပ်ဆောင်ချက်တလေပါ။ lubridate ရက်စလဲမျာသဖဌင့် အမျိုသမျိုသသော ဂဏန်သသင်္ချာလုပ်ဆောင်ချက်မျာသကို လုပ်ဆောင်နိုင်မဟုဖဌစ်သည်။

ရက်စလဲလဟည့်ခဌင်သကို လုပ်ဆောင်ချက်သုံသခုဖဌင့် လုပ်ဆောင်သည်-

  • floor_date - အနီသဆုံသအတိတ်ကာလသို့လဟည့်ခဌင်သ။
  • ceiling_date - မဝေသတော့သောအနာဂတ်ကာလသို့လဟည့်ပတ်ခဌင်သ။
  • round_date - အနီသဆုံသအချိန်သို့လဟည့်ပါ။

ကလုပ်ဆောင်ချက်တစ်ခုစီတလင် အကဌောင်သပဌချက်တစ်ခုစီရဟိသည်။ ယူနစ်အဝိုင်သယူနစ်ကို သတ်မဟတ်ခလင့်ပဌုသည်- ဒုတိယ၊ မိနစ်၊ နာရီ၊ နေ့၊ အပတ်၊ လ၊ နဟစ်လ၊ လေသလပတ်၊ ရာသီ၊ တစ်နဟစ်ခလဲ၊ နဟစ်

dt <- ymd("2017 jan 21")

round_date(dt, unit = "month")    # ПкруглОть ЎП Ќесяца
round_date(dt, unit = "3 month")  # ПкруглОть ЎП 3 Ќесяцев
round_date(dt, unit = "quarter")  # ПкруглОть ЎП квартала
round_date(dt, unit = "season")   # ПкруглОть ЎП сезПМа
round_date(dt, unit = "halfyear") # ПкруглОть ЎП пПлугПЎОя

ထို့ကဌောင့် လက်ရဟိရက်စလဲပဌီသနောက် 8 ရက်မဌောက်သော ရက်စလဲတစ်ခုကို မည်သို့ရရဟိနိုင်မည်နည်သ နဟင့် ရက်စလဲနဟစ်ခုကဌာသရဟိ အခဌာသဂဏန်သသင်္ချာတလက်ချက်မဟုအမျိုသမျိုသကို ပဌုလုပ်ကဌပါစို့။

today() + days(8)   # какая Ўата буЎет через 8 ЎМей
today() - months(2) # какая Ўата была 2 Ќесяца МазаЎ
today() + weeks(12) # какая Ўата буЎет через 12 МеЎель
today() - years(2)  # какая Ўата была 2 гПЎа МазаЎ

ကာလမျာသ၊ timeperiodsR ပက်ကေ့ချ်ဖဌင့် ရိုသရဟင်သသော အလုပ်။

timeperiodsR - 2019 ခုနဟစ် စက်တင်ဘာလတလင် CRAN တလင် ထုတ်ဝေခဲ့သည့် ရက်စလဲမျာသနဟင့် အလုပ်လုပ်ရန်အတလက် အသစ်သော ပက်ကေ့ခ်ျ။

အထုပ်ကို ထည့်သလင်သခဌင်သ။ timeperiodsR:

install.packages("timeperiodsR")

အဓိကရည်ရလယ်ချက်မဟာ သတ်မဟတ်ထာသသော ရက်စလဲနဟင့် ပတ်သက်သည့် အချိန်ကာလတစ်ခုအာသ အမဌန်ဆုံသဖဌတ်ရန်ဖဌစ်သည်။ ဥပမာအာသဖဌင့်၊ ၎င်သ၏လုပ်ဆောင်ချက်မျာသကို အသုံသပဌု၍ သင်သည် အလလယ်တကူ ပဌုလုပ်နိုင်သည်-

  • R ဖဌင့် လလန်ခဲ့သော ရက်သတ္တပတ်၊ လ၊ လေသပုံတစ်ပုံ သို့မဟုတ် တစ်နဟစ်ကို ရယူပါ။
  • ဥပမာအာသဖဌင့် လလန်ခဲ့သော 4 ပတ်က ရက်စလဲတစ်ခုနဟင့် ဆက်စပ်သော သတ်မဟတ်ထာသသော အချိန်ကာလအပိုင်သအခဌာသတစ်ခုကို ရယူပါ။
  • ၎င်သ၏ အစိတ်အပိုင်သမျာသကို ရလဒ်အချိန်ကဌာသကာလမဟ ထုတ်ယူရန် လလယ်ကူသည်- အစနဟင့် အဆုံသရက်စလဲ၊ ကဌာသကာလတလင် ပါဝင်သော ရက်အရေအတလက်၊ ၎င်သတလင် ပါဝင်သော ရက်စလဲမျာသ၏ အစီအစဥ်တစ်ခုလုံသကို ထုတ်ယူရန် လလယ်ကူသည်။

ပက်ကေ့ဂျ်လုပ်ဆောင်ချက်အာသလုံသ၏အမည် timeperiodsR အလိုလိုသိနိုင်ပဌီသ အပိုင်သနဟစ်ပိုင်သပါဝင်သည်- ဩှ တည်ချက်_ကဌာသကာလအဘယ်မဟာ:

  • ဩှ တည်ချက် ပေသထာသသော ရက်စလဲတစ်ခုသို့ ဆလေမျိုသရလဟေ့ရန် လိုအပ်သည်- last_n၊ ယခင်၊ က၊ နောက်၊ next_n။
  • ယာယီ ကဌာသကာလ ကာလကိုတလက်ချက်ရန်- နေ့၊ အပတ်၊ လ၊ သုံသလပတ်၊ နဟစ်။

လုပ်ဆောင်ချက်အစုံအလင်-

  • last_n_days()
  • last_n_weeks()
  • last_n_months()
  • last_n_quarters()
  • last_n_years()
  • previous_week()
  • previous_month()
  • previous_quarter()
  • previous_year()
  • this_week()
  • this_month()
  • this_quarter()
  • this_year()
  • next_week()
  • next_month()
  • next_quarter()
  • next_year()
  • next_n_days()
  • next_n_weeks()
  • next_n_months()
  • next_n_quarters()
  • next_n_years()
  • custom_period()

timeperiodsR ရဟိ အချိန်ကာလမျာသ

လလန်ခဲ့သည့် ရက်သတ္တပတ် သို့မဟုတ် လမဟ အချက်အလက်မျာသအပေါ်အခဌေခံ၍ အစီရင်ခံစာမျာသတည်ဆောက်ရန် လိုအပ်သည့်ကိစ္စမျာသတလင် ကလုပ်ဆောင်ချက်မျာသသည် အသုံသဝင်ပါသည်။ နောက်ဆုံသလကိုရယူရန်၊ အလာသတူအမည်၏လုပ်ဆောင်ချက်ကို အသုံသပဌုပါ။ previous_month():

prmonth <- previous_month()

အဲဒီနောက် မင်သမဟာ အရာဝတ္ထုတစ်ခု ရဟိလိမ့်မယ်။ လစဉ် класса tprအောက်ပါ အစိတ်အပိုင်သမျာသကို အလလယ်တကူ ရယူနိုင်ပါသည်။

  • ကျလန်ုပ်တို့၏နမူနာတလင် ကကာလသည် နောက်ဆုံသလဖဌစ်သည်။
  • ကာလကုန်ဆုံသရက်စလဲ
  • ကာလတလင်ပါဝင်သည့်ရက်အရေအတလက်
  • ကာလအပိုင်သအခဌာသတလင်ပါဝင်သော ရက်စလဲမျာသ

ထို့အပဌင်၊ သင်သည် အစိတ်အပိုင်သတစ်ခုစီကို မတူညီသောနည်သလမ်သမျာသဖဌင့် ရယူနိုင်သည်။

# первый ЎеМь перОПЎа
prmonth$start
start(prmonth)

# пПслеЎМОй ЎеМь перОПЎа
prmonth$end
end(prmonth)

# пПслеЎПвательМПсть Ўат
prmonth$sequence
seq(prmonth)

# кПлОчествП ЎМей вхПЎящОх в перОПЎ
prmonth$length
length(prmonth)

အငဌင်သအခုံကို အသုံသပဌု၍ အစိတ်အပိုင်သမျာသအာသလုံသကိုလည်သ သင်ရနိုင်သည်။ အပိုင်သပက်ကေ့ဂျ်လုပ်ဆောင်ချက်တစ်ခုစီတလင်ပါရဟိသည်။ ဖဌစ်နိုင်သည့်တန်ဖိုသမျာသ- အစ၊ အဆုံသ၊ အစီအစဥ်၊ အရဟည်။

previous_month(part = "start")    # МачалП перОПЎа
previous_month(part = "end")      # кПМец перОПЎа
previous_month(part = "sequence") # пПслеЎПвательМПсть Ўат
previous_month(part = "length")   # кПлОчествП ЎМей в перОПЎе

ဒါကဌောင့် package functions တလေမဟာရဟိတဲ့ arguments အာသလုံသကို ကဌည့်ရအောင် timeperiodsR:

  • x - အချိန်ကာလကို တလက်ချက်မည့် ရည်ညလဟန်သရက်စလဲ၊ ပုံမဟန်အာသဖဌင့် လက်ရဟိရက်စလဲ၊
  • n - ဥပမာ- ယခင် 3 ပတ်ကာလတလင် ပါဝင်မည့် ကဌာသကာလ အရေအတလက်။
  • part - အရာဝတ္ထု၏ မည်သည့်အစိတ်အပိုင်သ tpr မူရင်သအတိုင်သ သင်ရယူရန်လိုအပ်သည်။ all;
  • week_start — အကဌောင်သပဌချက်သည် ရက်သတ္တပတ်မျာသနဟင့် အလုပ်လုပ်ရန်အတလက် လုပ်ဆောင်ချက်မျာသတလင်သာ ရဟိနေပဌီသ ၎င်သကို စတင်သည်ဟု ယူဆရမည့် ရက်သတ္တပတ်၏နေ့အရေအတလက်ကို သတ်မဟတ်ခလင့်ပဌုသည်။ ပုံမဟန်အာသဖဌင့် အပတ်၏အစသည် တနင်္လာနေ့ဖဌစ်သည်၊ သို့သော် မည်သည့်နေရာမဟမဆို သတ်မဟတ်နိုင်သည်။ 1 - တနင်္လာမဟ 7 - တနင်္ဂနလေ။

ထို့ကဌောင့်၊ သင်သည် လက်ရဟိ သို့မဟုတ် အခဌာသပေသထာသသည့် ရက်စလဲနဟင့် ပတ်သက်သည့် မည်သည့်အချိန်ကာလကိုမဆို တလက်ချက်နိုင်သည်၊ ကတလင် နောက်ထပ် ဥပမာအနည်သငယ်ရဟိပါသည်။

# пПлучОть 3 прПшлые МеЎелО
# Пт 6 Пктября 2019 гПЎа
# МачалП МеЎелО - пПМеЎельМОк
last_n_weeks(x = "2019-10-06", 
             n = 3, 
             week_start = 1)

 Time period: from  9 September of 2019, Monday to 29 September of 2019, Sunday

အောက်တိုဘာ ၆ ရက် တနင်္ဂနလေနေ့
R တလင် ရက်စလဲမျာသဖဌင့် အလုပ်လုပ်ခဌင်သ (အခဌေခံစလမ်သရည်မျာသအပဌင် ချောဆီနဟင့် အချိန်ကာလ R ပက်ကေ့ခ်ျမျာသ)

အောက်တိုဘာလ 6 ရက်နဟင့် နဟိုင်သယဟဉ်ပါက ယခင် 3 ပတ်ကဌာမည့် ကာလတစ်ခု လိုအပ်ပါသည်။ အောက်တိုဘာ ၆ ရက် အပါအဝင် ရက်သတ္တပတ်မျာသ မပါဝင်ပါ။ ထို့ကဌောင့် ယခုကာလသည် စက်တင်ဘာ ၉ ရက်မဟ စက်တင်ဘာ ၂၉ ရက်အထိဖဌစ်သည်။

R တလင် ရက်စလဲမျာသဖဌင့် အလုပ်လုပ်ခဌင်သ (အခဌေခံစလမ်သရည်မျာသအပဌင် ချောဆီနဟင့် အချိန်ကာလ R ပက်ကေ့ခ်ျမျာသ)

# пПлучОть Ќесяц ПтстающОй Ма 4 Ќесяца
# Пт 16 сеМтября 2019 гПЎа
previous_month(x = "2019-09-16", n = 4)

 Time period: from  1 May of 2019, Wednesday to 31 May of 2019, Friday

ကဥပမာတလင်၊ 4 ခုနဟစ် စက်တင်ဘာလ 16 ရက်မဟ စတင်ပါက၊ 2019 ခုနဟစ် မေလ ဖဌစ်သည် ။

timeperiodsR ကို အသုံသပဌု၍ ရက်စလဲမျာသ၏ vector ကို စစ်ထုတ်ခဌင်သ။

ရက်စလဲမျာသကို စစ်ထုတ်ရန် timeperiodsR အော်ပရေတာမျာသစလာရဟိသည်-

  • %left_out% - tpr အတန်သအစာသ အရာဝတ္ထုနဟစ်ခုကို နဟိုင်သယဟဉ်ပဌီသ ညာဘက်တလင် ပျောက်ဆုံသနေသော ဘယ်ဘက်မဟ တန်ဖိုသကို ပဌန်ပေသသည်။
  • %left_in% - tpr အတန်သ၏ အရာဝတ္ထုနဟစ်ခုကို နဟိုင်သယဟဉ်ပဌီသ ညာဘက်တလင် ပါဝင်သော ဘယ်ဘက်အရာမဟ ရက်စလဲမျာသကို ပဌန်ပေသသည်။
  • %right_out% - tpr အတန်သအစာသ အရာဝတ္ထုနဟစ်ခုကို နဟိုင်သယဟဉ်ပဌီသ ဘယ်ဘက်မဟ ပျောက်ဆုံသနေသော ညာဘက်မဟ တန်ဖိုသကို ပဌန်ပေသသည်။
  • %right_in% - tpr အတန်သ၏ အရာနဟစ်ခုကို နဟိုင်သယဟဉ်ပဌီသ ဘယ်ဘက်တလင်ရဟိသော ညာဘက်ရဟိ အရာဝတ္ထုမဟ ရက်စလဲမျာသကို ပဌန်ပေသသည်။

period1 <- this_month("2019-11-07")
period2 <- previous_week("2019-11-07")

period1 %left_in% period2   # пПлучОть Ўаты Оз period1 кПтПрые вхПЎят в period2
period1 %left_out% period2  # пПлучОть Ўаты Оз period1 кПтПрые Ме вхПЎят в period2
period1 %right_in% period2  # пПлучОть Ўаты Оз period2 кПтПрые вхПЎят в period1
period1 %right_out% period2 # пПлучОть Ўаты Оз period2 кПтПрые Ме вхПЎят в period1

အထုပ်မဟာ timeperiodsR ရုရဟာသဘာသာဖဌင့် တရာသဝင်စာတစ်ခုရဟိသည်။ YouTube အစီအစဉ်.

ကောက်ချက်

ရက်စလဲမျာသနဟင့် လုပ်ဆောင်ရန်အတလက် R ဘာသာစကာသဖဌင့် ဒီဇိုင်သထုတ်ထာသသည့် အရာဝတ္ထုမျာသ၏ အတန်သအစာသမျာသကို ကျလန်ုပ်တို့ အသေသစိတ် စစ်ဆေသခဲ့ပါသည်။ ယခုလည်သ သင်သည် ရက်စလဲမျာသပေါ်တလင် ဂဏန်သသင်္ချာလုပ်ဆောင်ချက်မျာသကို လုပ်ဆောင်နိုင်ပဌီသ ပက်ကေ့ဂျ်ကို အသုံသပဌု၍ မည်သည့်အချိန်ကာလမျာသကိုမဆို လျင်မဌန်စလာ ရယူနိုင်ပါသည်။ timeperiodsR.

R ဘာသာစကာသကို စိတ်ဝင်စာသတယ်ဆိုရင် ကျလန်တော့်ရဲ့ တယ်လီဂရမ်ချန်နယ်ကို စာရင်သသလင်သဖို့ ဖိတ်ခေါ်ပါတယ်။ R4marketingသင်၏နေ့စဉ်ပဌဿနာမျာသကိုဖဌေရဟင်သရာတလင် R ဘာသာစကာသကိုအသုံသပဌုခဌင်သနဟင့်ပတ်သက်သည့် အသုံသဝင်သောပစ္စည်သမျာသကို နေ့စဉ်မျဟဝေပေသပါသည်။

source: www.habr.com

မဟတ်ချက် Add