timeperiodsR - phukusi la ntchito ndi nthawi intervals ndi zigawo zake.
Zamkatimu
Ngati mukufuna kusanthula deta, makamaka chilankhulo cha R, mungakonde kudziwa zanga uthengawo и Youtube njira. Zambiri mwazomwe zimaperekedwa ku chilankhulo cha R.
Basic R ili ndi ntchito zogwirira ntchito ndi madeti. Choyipa cha mawu oyambira ndikuti nkhani ya mayina antchito ndi mikangano ndiyomwazika kwambiri ndipo ilibe kulumikizana koyenera. Komabe, muyenera kudziwa ntchito zoyambira za chilankhulo, ndiye tiyambira nazo.
Nthawi zambiri mukatsitsa deta mu R, kuchokera kumafayilo a csv, kapena malo ena, mumalandira tsiku ngati mawu. Kuti musinthe mawuwa kukhala mtundu wolondola wa data, gwiritsani ntchito ntchitoyi 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)
Chifukwa chake, "Seputembala 26, 2019" ndiye dzina lonse la mwezi, tsiku ndi chaka. Mawonekedwe a deti atha kufotokozedwa pogwiritsa ntchito ma opareta motere:"%B %d, %Y".
Kumeneko:
%B - Dzina lonse la mwezi
%d - Chiwerengero cha tsiku m'mwezi
%Y - Chiwerengero chazaka zinayi
Pofotokoza mtundu wa deti, ndikofunikira kuti muphatikize zilembo zonse zowonjezera kuchokera ku chingwe chanu, monga mitsinje, koma, nthawi, mipata, ndi zina zotero. Muchitsanzo changa, "Seputembara 26, 2019", pali comma pambuyo pa tsikulo, ndipo muyeneranso kuyika chikomokere mofotokozera:"%B %d, %Y".
Pali zochitika mukalandira tsiku lomwe silikugwirizana ndi mawonekedwe wamba (YYYY-MM-DD kapena YYYY/MM/DD), komanso m'chinenero chomwe chimasiyana ndi chomwe chimayikidwa pa makina anu opangira opaleshoni. Mwachitsanzo, mudadawuniloda data pomwe deti likuwonetsedwa motere: "December 15, 2019." Musanasinthe chingwechi kukhala deti, muyenera kusintha malo.
# Меняем локаль
Sys.setlocale("LC_TIME", "Russian")
# Конвертируем строку в дату
as.Date("Декабрь 15, 2019 г.", format = "%B %d, %Y")
Kuchotsa zigawo za tsiku mu Basic R
Palibe ntchito zambiri mu R zomwe zimakulolani kuchotsa gawo lililonse la deti ku chinthu chakalasi Date.
current_date <- Sys.Date() # текущая дата
weekdays(current_date) # получить номер дня недели
months(current_date) # получить номер месяца в году
quarters(current_date) # получить номер квартала в году
Kuwonjezera pa chinthu chachikulu kalasi Date mu basic R pali mitundu iwiri ya data yomwe imasunga sitampu: POSIXlt, POSIXct. Kusiyana kwakukulu pakati pa makalasi awa ndi Date ndikuti kuwonjezera pa tsiku lomwe amasunga nthawi.
# получить текущую дату и время
current_time <- Sys.time()
# узнать класс объекта current_time
class(current_time)
# "POSIXct" "POSIXt"
ntchito Sys.time() imabweretsanso tsiku ndi nthawi yomwe ilipo mumpangidwe POSIXct. Mtundu uwu ndi wofanana ndi tanthauzo KUSINTHA, ndikusunga kuchuluka kwa masekondi kuyambira chiyambi cha nthawi ya UNIX (pakati pausiku (UTC) kuyambira pa Disembala 31, 1969 mpaka Januware 1, 1970).
Kalasi POSIXlt imasunganso nthawi ndi tsiku, ndi zigawo zake zonse. Chifukwa chake, ndi chinthu chokhala ndi mawonekedwe ovuta kwambiri, koma komwe kumakhala kosavuta kupeza tsiku lililonse ndi gawo la nthawi chifukwa Pamenepo POSIXlt izo mndandanda.
# Получаем текущую дату и время
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 # часовой пояс
Kutembenuza manambala ndi malemba kukhala mawonekedwe POSIX* zoyendetsedwa ndi ntchito as.POSIXct() и as.POSIXlt(). Ntchitozi zimakhala ndi zotsutsana zazing'ono.
mtundu - Kufotokozera za mtundu wa tsiku lomwe deta idaperekedwa ku mtsutso wa x imayimiridwa;
chiyambi - Amagwiritsidwa ntchito posintha nambala kukhala POSIX; muyenera kudutsa tsiku ndi nthawi yomwe masekondi amawerengedwa mpaka mkanganowu. Amagwiritsidwa ntchito pomasulira kuchokera ku UNIXTIME.
Ngati chidziwitso chanu cha tsiku ndi nthawi chili mkati KUSINTHA, kenako kuti muwasinthe kukhala deti lomveka bwino, lowerengeka, gwiritsani ntchito chitsanzo chotsatirachi:
# Конвертируем UNIXTIME в читаемую дату
as.POSIXlt(1570084639, origin = "1970-01-01")
Poyambira mutha kutchula sitampu iliyonse. Mwachitsanzo, ngati data yanu ili ndi tsiku ndi nthawi monga kuchuluka kwa masekondi kuyambira pa Seputembara 15, 2019 12:15 pm, ndiye kuti musinthe kukhala deti:
# Конвертируем UNIXTIME в дату учитывая что начало отсчёта 15 сентября 2019 12:15
as.POSIXlt(1546123, origin = "2019-09-15 12:15:00")
Kugwira ntchito ndi masiku pogwiritsa ntchito phukusi la lubridate
lubridate Mwina phukusi wotchuka kwambiri ntchito ndi madeti mu chinenero R. Imakupatsirani makalasi atatu owonjezera.
durations - nthawi, i.e. chiwerengero cha masekondi pakati pa nthawi ziwiri;
nyengo - nthawi zimakupatsani mwayi wowerengera pakati pa masiku omwe angawerengedwe ndi anthu: masiku, miyezi, masabata, ndi zina zotero;
intervals - zinthu zomwe zimapereka poyambira ndi pothera nthawi.
Kuyika kwa mapaketi owonjezera mu chilankhulo cha R kumachitika pogwiritsa ntchito ntchito yokhazikika install.packages().
Zomwe phukusi lubridate imathandizira kwambiri njira yosinthira mawu kukhala deti, ndikukulolani kuti muchite masamu aliwonse okhala ndi masiku ndi nthawi.
Ntchitozi zidzakuthandizani kupeza tsiku kapena tsiku ndi nthawi today() и now().
today() # текущая дата
now() # текущая дата и время
Kuti musinthe chingwe kukhala deti lubridate Pali banja lonse la ntchito zomwe maina awo nthawi zonse amakhala ndi zilembo zitatu, ndipo amasonyeza ndondomeko ya zigawo za tsiku:
y - chaka
m -mwezi
d -tsiku
Mndandanda wa ntchito zosinthira zolemba kukhala tsiku kudzera pa lubridate
ymd()
ydm()
mdy()
myd()
dmy()
dym()
yq()
Zitsanzo zina zosinthira zingwe kukhala madeti:
ymd("2017 jan 21")
mdy("March 20th, 2019")
dmy("1st april of 2018")
dt <- ymd("2017 jan 21")
year(dt) # год
month(dt) # месяц
mday(dt) # день в месяце
yday(dt) # день в году
wday(dt) # день недели
Ntchito za masamu okhala ndi masiku
Koma zofunika kwambiri ndi zofunika magwiridwe lubridate ndi kuthekera kochita masamu osiyanasiyana okhala ndi masiku.
Kuzungulira tsiku kumachitidwa ndi ntchito zitatu:
floor_date - kuzungulira ku nthawi yapafupi yapitayo
ceiling_date - kuzungulira ku nthawi yamtsogolo
round_date - kuzungulira mpaka nthawi yapafupi
Iliyonse mwa ntchitozi ili ndi mkangano Unitzomwe zimakulolani kuti mutchule gawo lozungulira: chachiwiri, mphindi, ola, tsiku, sabata, mwezi, mwezi, kotala, nyengo, theka la chaka, chaka
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") # округлить до полугодия
Chifukwa chake tiyeni tiwone momwe tingapezere deti lomwe ndi masiku 8 kuchokera tsiku lomwe lilipo ndikuchita masamu ena osiyanasiyana pakati pa madeti awiriwo.
today() + days(8) # какая дата будет через 8 дней
today() - months(2) # какая дата была 2 месяца назад
today() + weeks(12) # какая дата будет через 12 недель
today() - years(2) # какая дата была 2 года назад
Ntchito yosavuta yokhala ndi nthawi, phukusi la timeperiodsR.
timeperiodsR - phukusi latsopano logwira ntchito ndi masiku omwe adasindikizidwa pa CRAN mu Seputembara 2019.
Kuyika phukusi timeperiodsR:
install.packages("timeperiodsR")
Cholinga chachikulu ndikuzindikira mwachangu nthawi inayake yokhudzana ndi tsiku lomwe laperekedwa. Mwachitsanzo, pogwiritsa ntchito ntchito zake mungathe:
Pezani sabata yapitayi, mwezi, kotala kapena chaka mu R.
Pezani nambala yodziwika ya nthawi zokhudzana ndi tsiku, mwachitsanzo masabata 4 apitawa.
N'zosavuta kuchotsa zigawo zake kuchokera ku nthawi yotsatila: tsiku loyamba ndi lomaliza, chiwerengero cha masiku omwe akuphatikizidwa mu nthawiyi, ndondomeko yonse ya masiku omwe akuphatikizidwamo.
Dzina lazochita zonse za phukusi timeperiodsR ndi zachidziwitso ndipo zili ndi magawo awiri: njira_nthawi,ku:
# первый день периода
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") # количество дней в периоде
%right_in% - amafananiza zinthu ziwiri za tpr class, ndikubwezeretsa madeti kuchokera ku chinthu choyenera chomwe chili kumanzere.
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
Pa paketi timeperiodsR pali boma, la chinenero cha Chirasha YouTube playlist.
Pomaliza
Tidasanthula mwatsatanetsatane makalasi azinthu zomwe zidapangidwa muchilankhulo cha R kuti zizigwira ntchito ndi masiku. Komanso tsopano mutha kuchita masamu pamasiku, ndikupeza mwachangu nthawi iliyonse pogwiritsa ntchito phukusi timeperiodsR.
Ngati mukufuna chilankhulo cha R, ndikukupemphani kuti mulembetse ku njira yanga ya telegalamu R4 malonda, momwe ndimagawana zinthu zothandiza tsiku ndi tsiku za kugwiritsa ntchito chilankhulo cha R pothetsa mavuto anu a tsiku ndi tsiku.