R හි දිනයන් සමඟ වැඩ කිරීම (මූලික හැකියාවන්, මෙන්ම lubridate සහ timeperiodsR පැකේජ)

ඕනෑම ක්‍රමලේඛන භාෂාවකින් වත්මන් දිනය ලබා ගන්න, "Hello world!" ට සමාන මෙහෙයුමක්. R භාෂාවද ව්යතිරේකයක් නොවේ.

මෙම ලිපියෙන් අපි R භාෂාවේ මූලික වාක්‍ය ඛණ්ඩයේ දිනයන් සමඟ වැඩ කරන්නේ කෙසේදැයි බලමු, එසේම දිනයන් සමඟ වැඩ කිරීමේදී එහි හැකියාවන් පුළුල් කරන ප්‍රයෝජනවත් පැකේජ කිහිපයක් දෙස බලමු:

  • lubridate - දිනයන් අතර අංක ගණිතමය ගණනය කිරීම් සිදු කිරීමට ඔබට ඉඩ සලසන පැකේජයක්;
  • timeperiodsR - කාල අන්තරයන් සහ ඒවායේ සංරචක සමඟ වැඩ කිරීම සඳහා පැකේජයක්.

R හි දිනයන් සමඟ වැඩ කිරීම (මූලික හැකියාවන්, මෙන්ම lubridate සහ timeperiodsR පැකේජ)

අන්තර්ගතය

ඔබ දත්ත විශ්ලේෂණයට සහ විශේෂයෙන් R භාෂාවට කැමති නම්, ඔබ මගේ ගැන උනන්දු විය හැකිය ටෙලිග්රාෆ් и ප්රථම අදියර නාලිකා. බොහෝ අන්තර්ගතයන් R භාෂාව සඳහා කැප කර ඇත.

  1. මූලික R වාක්‍ය ඛණ්ඩයේ දිනයන් සමඟ වැඩ කිරීම
    1.1. පෙළ අදට පරිවර්තනය කරන්න
    1.2. මූලික R හි දින සංරචක උපුටා ගැනීම
  2. ලිහිසි තෙල් පැකේජය භාවිතයෙන් දින සමඟ වැඩ කිරීම
    2.1. ලිහිසි තෙල් භාවිතයෙන් පෙළ අදට පරිවර්තනය කරන්න
    2.2. ලුබ්‍රිඩේට් පැකේජය භාවිතයෙන් දින සංරචක උපුටා ගැනීම
    2.3. දිනයන් සමඟ අංක ගණිත මෙහෙයුම්
  3. කාල පරිච්ඡේද, කාලපරිච්ඡේද R පැකේජය සමඟ සරල කළ වැඩ
    3.1. කාල පරිච්ඡේදවල කාල පරතරයන්R
    3.2. කාලපරිච්ඡේදR භාවිතා කරමින් දින දෛශිකයක් පෙරීම
  4. නිගමනය

මූලික R වාක්‍ය ඛණ්ඩයේ දිනයන් සමඟ වැඩ කිරීම

පෙළ අදට පරිවර්තනය කරන්න

මූලික R දිනයන් සමඟ වැඩ කිරීම සඳහා කාර්යයන් සමූහයක් ඇත. මූලික වාක්‍ය ඛණ්ඩයේ අවාසිය නම් ශ්‍රිත නාම සහ තර්කවල අවස්ථාව ඉතා විසිරී ඇති අතර ප්‍රායෝගිකව තාර්කික සම්බන්ධයක් නොමැති වීමයි. කෙසේ වෙතත්, ඔබ භාෂාවේ මූලික කාර්යයන් දැන සිටිය යුතුය, එබැවින් අපි ඔවුන් සමඟ ආරම්භ කරමු.

බොහෝ විට 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
සතියේ දින ගණන (0-6, 0 ඉරිදා වේ)

%m
ඉලක්කම් දෙකේ මාස නම් කිරීම (01-12)

%b
මාසයේ නමේ කෙටි යෙදුම (අප්‍රේල්, මාර්තු, ...)

%B
සම්පූර්ණ මාසික නම

%y
ඉලක්කම් දෙකක වසර නම් කිරීම

%Y
ඉලක්කම් හතරක වසර නම් කිරීම

%j
වසරේ දින අංකය (001 - 366)

%U
වසරේ සතියේ අංකය (00 - 53), සතියේ ආරම්භය ඉරිදා

%W
වසරේ සති අංකය (00 - 53), සතියේ ආරම්භය සඳුදා

ඒ අනුව, "සැප්තැම්බර් 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 හි බොහෝ කාර්යයන් නොමැත දිනය.

current_date <- Sys.Date() # текущая дата
weekdays(current_date)     # получить номер дня недели
months(current_date)       # получить номер месяца в году
quarters(current_date)     # получить номер квартала в году

ප්රධාන වස්තු පන්තියට අමතරව දිනය මූලික R හි කාල මුද්‍රාවක් ගබඩා කරන තවත් දත්ත වර්ග 2ක් ඇත: POSIXlt, POSIXct. මෙම පන්ති අතර ප්රධාන වෙනස සහ දිනය එය ඔවුන් කාලය ගබඩා කරන දිනයට අමතරව වේ.

# получить текущую дату и время
current_time <- Sys.time()

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

# "POSIXct" "POSIXt"

උත්සවය Sys.time() වත්මන් දිනය සහ වේලාව ආකෘතියෙන් ලබා දෙයි POSIXct. මෙම ආකෘතිය අර්ථයෙන් සමාන වේ යුනික්ස්ටයිම්, සහ UNIX යුගයේ ආරම්භයේ සිට තත්පර ගණන ගබඩා කරයි (මධ්‍යම රාත්‍රිය (යූටීසී) 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 в читаемую дату 
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 භාෂාවෙන් දින සමඟ වැඩ කිරීම සඳහා සමහර විට වඩාත්ම ජනප්‍රිය පැකේජය. එය ඔබට අමතර පන්ති තුනක් සපයයි.

  • කාලසීමාවන් - කාලසීමාව, i.e. වේලා මුද්දර දෙකක් අතර තත්පර ගණන;
  • කාල පරිච්ඡේද - මිනිසාට කියවිය හැකි කාල අන්තරවල දිනයන් අතර ගණනය කිරීම් සිදු කිරීමට කාල පරිච්ඡේද ඔබට ඉඩ සලසයි: දින, මාස, සති සහ යනාදිය;
  • කාල පරතරයන් - කාලයෙහි ආරම්භක සහ අවසන් ලක්ෂ්‍යය සපයන වස්තූන්.

R භාෂාවෙන් අතිරේක පැකේජ ස්ථාපනය කිරීම සම්මත ශ්රිතය භාවිතයෙන් සිදු කෙරේ install.packages().

පැකේජය ස්ථාපනය කිරීම lubridate:

install.packages("lubridate")

ලිහිසි තෙල් භාවිතයෙන් පෙළ අදට පරිවර්තනය කරන්න

පැකේජ විශේෂාංග lubridate පෙළ දිනයක් බවට පරිවර්තනය කිරීමේ ක්‍රියාවලිය සැලකිය යුතු ලෙස සරල කරන අතර, දිනයන් සහ වේලාවන් සමඟ ඕනෑම ගණිතමය මෙහෙයුම් සිදු කිරීමට ඔබට ඉඩ සලසයි.

වත්මන් දිනය හෝ දිනය සහ වේලාව ලබා ගැනීමට කාර්යයන් ඔබට උපකාර කරනු ඇත today() и now().

today() # текущая дата
now()   # текущая дата и время

තන්තුවක් දිනයකට පරිවර්තනය කිරීමට lubridate නම් සෑම විටම අකුරු තුනකින් සමන්විත වන අතර, දින සංරචක අනුපිළිවෙල සඳහන් කරන සම්පූර්ණ ශ්‍රිත පවුලක් ඇත:

  • y - වසර
  • m - මාසය
  • d - දවස

ලිහිසි තෙල් හරහා පෙළ අදට පරිවර්තනය කිරීම සඳහා වූ කාර්යයන් ලැයිස්තුව

  • 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 года назад

කාල පරිච්ඡේද, කාලපරිච්ඡේද R පැකේජය සමඟ සරල කළ වැඩ.

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()

කාල පරිච්ඡේදවල කාල පරතරයන්R

පසුගිය සතියේ හෝ මාසයේ දත්ත මත පදනම්ව ඔබට වාර්තා ගොඩනගා ගැනීමට අවශ්‍ය අවස්ථාවන්හිදී මෙම කාර්යයන් ප්‍රයෝජනවත් වේ. පසුගිය මාසය ලබා ගැනීමට, එකම නමේ ශ්‍රිතය භාවිතා කරන්න previous_month():

prmonth <- previous_month()

ඉන් පසුව ඔබට වස්තුවක් ලැබෙනු ඇත prmonth පන්ති 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")   # количество дней в периоде

එබැවින් පැකේජ ශ්‍රිතවල ඇති සියලුම තර්ක දෙස බලමු 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

ඔක්තෝබර් 6 ඉරිදා:
R හි දිනයන් සමඟ වැඩ කිරීම (මූලික හැකියාවන්, මෙන්ම lubridate සහ timeperiodsR පැකේජ)

අපට ඔක්තෝබර් 6 ට සාපේක්ෂව පෙර සති 3 ගතවන කාල සීමාවක් අවශ්‍යයි. ඔක්තොම්බර් 6 වෙනිදා ඇතුලත් සතිය ඇතුලත් නොකර. ඒ අනුව සැප්තැම්බර් 9 සිට සැප්තැම්බර් 29 දක්වා කාලය මෙයයි.

R හි දිනයන් සමඟ වැඩ කිරීම (මූලික හැකියාවන්, මෙන්ම lubridate සහ timeperiodsR පැකේජ)

# получить месяц отстающий на 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 සිට ආරම්භ කරන්නේ නම්, එය 2019 මැයි ය.

කාලපරිච්ඡේදR භාවිතා කරමින් දින දෛශිකයක් පෙරීම

දින පෙරීමට 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 භාෂාව ගැන උනන්දුවක් දක්වන්නේ නම්, මගේ ටෙලිග්‍රාම් නාලිකාවට දායක වන ලෙස මම ඔබට ආරාධනා කරමි R4 අලෙවිකරණය, ඔබේ දෛනික ගැටලු විසඳීමේදී R භාෂාව භාවිතා කිරීම පිළිබඳව මම දෛනික පදනමින් ප්‍රයෝජනවත් ද්‍රව්‍ය බෙදා ගනිමි.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න