Tarihler, Date sınıfı tarafından temsil edilir ve as.Date() işlevi kullanılarak bir karakter dizesinden oluşturulabilir. Bu, R’de bir Date nesnesi elde etmenin yaygın bir yoludur. Date sınıfı varsayılan olarak tarihleri 1 Ocak 1970’den bu yana geçen günlerin sayısı olarak temsil eder. as.Date() işlevinin kullanılması bir karakter dizesinden Date nesneleri oluşturmamıza olanak tanır. Varsayılan biçim “YYYY/m/d” veya “YYYY-m-d” şeklindedir.
Sys.Date()
[1] "2024-04-22"
class(Sys.Date())
[1] "Date"
myDate <-as.Date("2022-01-04")class(myDate)
[1] "Date"
# format argümanı ile tarih formatı tanımlanabiliras.Date("12/31/2021", format ="%m/%d/%Y")
[1] "2021-12-31"
# yearformat(myDate, "%Y")
[1] "2022"
as.numeric(format(myDate, "%Y"))
[1] 2022
# weekdayweekdays(myDate)
[1] "Salı"
# monthmonths(myDate)
[1] "Ocak"
# quartersquarters(myDate)
[1] "Q1"
# create date sequence date_week <-seq(from =as.Date("2021-10-1"), to =as.Date("2021/12/31"), by ="1 week")date_week
Temel R POSIXt sınıfları, saat dilimlerini kontrol ederek tarih ve saatlere izin verir. R’de kullanılabilen iki POSIXt alt sınıfı vardır: POSIXct ve POSIXlt. POSIXct sınıfı, GMT (UTC – evrensel saat, koordineli) 1970-01-01 gece yarısından bu yana işaretli saniye sayısı olarak tarih-saat değerlerini temsil eder. POSIXlt sınıfı, tarih-saat değerlerini, saniye (sn), dakika (dk), saat (saat), ayın günü (mday), ay (mon), yıl (yıl), gün için öğeleri içeren adlandırılmış bir liste olarak temsil eder.
Tarih-saatleri temsil eden en yaygın format kodları seti, strptime() işlevinin yardım dosyasında listelenmiştir (konsolunuza help(strptime) yazın).
Sys.time()
[1] "2024-04-22 11:12:55 +03"
class(Sys.time())
[1] "POSIXct" "POSIXt"
myDateTime <-"2021-12-11 22:10:35"myDateTime
[1] "2021-12-11 22:10:35"
class(myDateTime)
[1] "character"
as.POSIXct(myDateTime)
[1] "2021-12-11 22:10:35 +03"
class(as.POSIXct(myDateTime))
[1] "POSIXct" "POSIXt"
Sys.timezone()
[1] "Europe/Istanbul"
as.POSIXct("30-12-2021 23:25", format ="%d-%m-%Y %H:%M")
# POSIXt nesneleri tarih formatına dönüştürülebilir.as.Date(myDateTime.POSIXlt)
[1] "2021-12-11"
lubridate paketi, R’de tarih ve saatlerle çalışmayı kolaylaştıran çeşitli işlevler sağlar. Lubridate paketi, ymd(), ymd_hms(),dmy(), dmy_hms(),mdy()gibi işlevler sağlayarak tarih-zamanların ayrıştırılmasını kolay ve hızlı hale getirir.
library(lubridate)
Attaching package: 'lubridate'
The following objects are masked from 'package:base':
date, intersect, setdiff, union
# convert a number into a data objectymd(20211215) # year-month-date
Yukarıda listelenen çeşitli işlevlere ek olarak, zoo paketindeki as.yearmon() ve as.yearqtr() işlevleri, düzenli aralıklarla aylık ve üç aylık verilerle çalışırken uygundur.
library(zoo)
Attaching package: 'zoo'
The following objects are masked from 'package:base':
as.Date, as.Date.numeric
as.yearmon(today)
[1] "Nis 2024"
format(as.yearmon(today), "%B %Y")
[1] "Nisan 2024"
format(as.yearmon(today), "%Y-%m")
[1] "2024-04"
as.yearqtr(today)
[1] "2024 Q2"
# dataframe içerisinde tarih kullanmakdf <-data.frame(date =c("2010-02-01","20110522","2009/04/30","2012 11 05","11-9-2015" ))df$date2 <-as.Date(parse_date_time(df$date, c("ymd", "mdy"))) df