Basic R ine seti yemabasa ekushanda nemazuva. Kuipa kweiyo syntax yakakosha ndeyekuti nyaya yemazita emabasa uye nharo yakapararira uye haina hukama hune musoro. Nekudaro, iwe unofanirwa kuziva iwo akakosha mabasa emutauro, saka isu tichatanga nawo.
Kazhinji kana uchirodha data muR, kubva kucsv mafaera, kana mamwe masosi, unogamuchira zuva semavara. Kuti ushandure chinyorwa ichi kune chaiyo data mhando, shandisa basa 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"
kubudikidza default as.Date() inogamuchira zuva mumhando mbiri: YYYY-MM-DD kana YYYY/MM/DD.
Kana yako data seti iine misi mune imwe fomati, unogona kushandisa nharo format.
as.Date("September 26, 2019", format = "%B %d, %Y")
Kana uchitsanangura chimiro chezuva, zvakakosha kuti uise mamwe mavara kubva mutambo yako, senge madheshi, koma, nguva, nzvimbo, zvichingodaro. Mumuenzaniso wangu, "Gunyana 26, 2019", pane comma mushure mezuva, uye iwe unofanirwawo kuisa koma mune tsananguro yefomati:"%B %d, %Y".
Pane mamiriro ezvinhu paunogamuchira zuva risingaenderane neakajairwa mafomati (YYYY-MM-DD kana YYYY/MM/DD), asiwo mumutauro unosiyana newakagara wakaiswa pane yako yekushandisa system. Semuenzaniso, wakadhawunirodha data uko zuva rinoratidzwa seizvi: "15 Zvita 2019." Usati washandura tambo iyi kuita zuva, unofanirwa kushandura nzvimbo.
# Меняем локаль
Sys.setlocale("LC_TIME", "Russian")
# Конвертируем строку в дату
as.Date("Декабрь 15, 2019 г.", format = "%B %d, %Y")
Kuburitsa zvinhu zvemazuva mubasic R
Iko hakuna akawanda mabasa mune yakakosha R iyo inokutendera iwe kubvisa chero chikamu chezuva kubva mukirasi chinhu zuva.
current_date <- Sys.Date() # текущая дата
weekdays(current_date) # получить номер дня недели
months(current_date) # получить номер месяца в году
quarters(current_date) # получить номер квартала в году
Kuwedzera kune chikuru chinhu kirasi zuva mu basic R pane maviri mamwe marudzi edata anochengeta timestamp: POSIXlt, POSIXct. Musiyano mukuru pakati pemakirasi aya uye zuva ndiko kuti kuwedzera pazuva ravanochengeta nguva.
# получить текущую дату и время
current_time <- Sys.time()
# узнать класс объекта current_time
class(current_time)
# Получаем текущую дату и время
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 # часовой пояс
Kushandura data yenhamba uye zvinyorwa kuita mafomati POSIX* zvichiitwa nemabasa as.POSIXct() и as.POSIXlt(). Aya mabasa ane diki diki renharo.
x - Nhamba, tambo kana chinhu chekirasi zuva, iyo inoda kushandurwa;
tz - Nguva yenguva, default "GMT";
fomati - Tsananguro yefomati yemazuva umo iyo data yakapfuudzwa kune x nharo inomiririrwa;
mabviro - Inoshandiswa chete kana uchishandura nhamba kuita POSIX; iwe unofanirwa kupfuudza chinhu chezuva uye nguva kubva iyo masekonzi anoverengerwa kuita iyi nharo. Inonyanya kushandiswa kushandura kubva kuUNIXTIME.
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") # округлить до полугодия
today() + days(8) # какая дата будет через 8 дней
today() - months(2) # какая дата была 2 месяца назад
today() + weeks(12) # какая дата будет через 12 недель
today() - years(2) # какая дата была 2 года назад
Uyezve, iwe unogona kuwana chimwe nechimwe chezvikamu nenzira dzakasiyana:
# первый день периода
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") # количество дней в периоде
Saka ngatitarisei kune ese nharo dziripo mupakeji mabasa timeperiodsR:
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 package timeperiodsR kune yepamutemo, yemutauro weRussia YouTube playlist.
Kana iwe uchifarira mutauro weR, ini ndinokukoka iwe kuti unyore kune yangu telegraph chiteshi R4marketing, umo ini ndinogovera zvinhu zvinobatsira zuva nezuva nezvekushandisa mutauro weR mukugadzirisa matambudziko ako ezuva nezuva.