I. Ozkan
2025-08-20
Sys.Date()
format.Date() # simply format()
weekdays()
seq.Date()
as.Date()
Sys.Date()
## [1] "2025-08-20"
## [1] "2025-08-20 10:23:56 +03"
## [1] "2025-08-20"
format.Date() # simply format()
weekdays()
seq.Date()
as.Date()
format()
## [1] "2025-08-20"
## [1] "20 08 25"
## [1] "20 08 25"
## [1] "20 08 25"
## [1] "20/08/25"
## [1] "20-08-25"
format.Date() # simply format()
weekdays()
seq.Date()
as.Date()
format()
| Code | Value |
|---|---|
%d |
Day of month as number |
%m |
Month as number |
%b |
Month abbreviated |
%B |
Month full name |
%y |
Year, two digits |
%Y |
Year, four digits |
## [1] "20 Aug 25"
## [1] "20 August 25"
## [1] "20 August 2025"
as.Date()
weekdays()
seq.Date()
as.Date() Function
## [1] "2015-04-28" "2016-11-12"
## Date[1:2], format: "2015-04-28" "2016-11-12"
## [1] "28 April 2015" "12 November 2016"
## [1] "April 28, 2015" "November 12, 2016"
as.Date()
weekdays()
seq.Date()
as.Date() Function
## [1] "2017-07-14"
## [1] "1jan1960" "2jan1960" "31mar1960" "30jul1960"
## chr [1:4] "1jan1960" "2jan1960" "31mar1960" "30jul1960"
## [1] "1960-01-01" "1960-01-02" "1960-03-31" "1960-07-30"
## Date[1:4], format: "1960-01-01" "1960-01-02" "1960-03-31" "1960-07-30"
as.Date()
weekdays()
seq.Date()
strptime() Function
# number of days since origin time..
as.Date(32768, origin = "1900-01-01") # number of days since 1900## [1] "1989-09-19"
# a complex one - with time
datestring <- c("January 10, 2012 10:40", "December 9, 2011 9:10")
datestring## [1] "January 10, 2012 10:40" "December 9, 2011 9:10"
## [1] "2012-01-10 10:40:00 EET" "2011-12-09 09:10:00 EET"
## chr [1:2] "January 10, 2012 10:40" "December 9, 2011 9:10"
## POSIXlt[1:2], format: "2012-01-10 10:40:00" "2011-12-09 09:10:00"
## [1] "2012-01-10" "2011-12-09"
weekdays()
seq.Date()
weekdays() Function
## [1] "2025-08-20"
## [1] "Wednesday"
## [1] "Thursday" "Friday" "Saturday" "Sunday" "Monday" "Tuesday"
## [7] "Wednesday" "Thursday" "Friday" "Saturday"
## [1] "1960-01-01" "1960-01-02" "1960-03-31" "1960-07-30"
## [1] "Friday" "Saturday" "Thursday" "Saturday"
## [1] "1960-01-02" "1960-07-30"
## [1] "1960-01-01" "1960-01-02" "1960-07-30"
seq.Date()
seq.Date() Function
# by= one of the ("day", "week", "month", "quarter" or "year")
seq.Date(from=as.Date("2023/1/1"), to=as.Date("2025/1/1"), by="quarter")## [1] "2023-01-01" "2023-04-01" "2023-07-01" "2023-10-01" "2024-01-01"
## [6] "2024-04-01" "2024-07-01" "2024-10-01" "2025-01-01"
## [1] "2023-01-01" "2023-02-01" "2023-03-01" "2023-04-01"
## [1] "2023-04-01" "2023-03-01" "2023-02-01" "2023-01-01"
## [1] "2020-01-01" "2020-04-01" "2020-07-01" "2020-10-01" "2021-01-01"
## [1] "2020-01-01" "2020-02-01" "2020-03-01" "2020-04-01" "2020-05-01"
seq.Date()
seq.Date() Function
## [1] "1960-01-01"
## [1] "1960-01-01" "1960-01-08" "1960-01-15" "1960-01-22" "1960-01-29"
## [6] "1960-02-05"
## [1] "Friday" "Friday" "Friday" "Friday" "Friday" "Friday"
## [1] "Friday" "Saturday" "Sunday" "Monday" "Tuesday" "Wednesday"
## [1] "Friday" "Monday" "Tuesday" "Friday" "Sunday" "Wednesday"
## [1] -3653
## Time difference of -3653 days
## [1] "2023-05-05"
## [1] "2023-03-05"
## Time difference of 61 days
## Time difference of -61 days
## Time differences in days
## [1] 61 54 47 40 33 26
## [1] "2023-05-06"
## [1] "2023-05-04"
## [1] TRUE
## [1] FALSE
ts Objectsts(data = NA, start = 1, end = numeric(), frequency = 1,
deltat = 1, ts.eps = getOption("ts.eps"), class = , names = )
as.ts()
is.ts()
ts Object Examples## Qtr1 Qtr2 Qtr3 Qtr4
## 1959 1 2 3
## 1960 4 5 6 7
## 1961 8 9 10
## Qtr1 Qtr2 Qtr3 Qtr4
## 1959 1 2 3
## 1960 4 5 6 7
## 1961 8 9 10
## Time Series:
## Start = c(1959, 2)
## End = c(1961, 3)
## Frequency = 4
## [1] 1 2 3 4 5 6 7 8 9 10
## [,1] [,2] [,3] [,4]
## [1,] 1 4 7 10
## [2,] 2 5 8 11
## [3,] 3 6 9 12
## [,1] [,2] [,3] [,4]
## [1,] 1 2 3 4
## [2,] 5 6 7 8
## [3,] 9 10 11 12
## Series 1 Series 2 Series 3 Series 4
## Jan 1961 1 6 11 16
## Feb 1961 2 7 12 17
## Mar 1961 3 8 13 18
## Apr 1961 4 9 14 19
## May 1961 5 10 15 20
# with column names
second_ts <- ts(matrix(1:20, 5), start = c(1961, 1), frequency = 12,
names = c("x_1","x_2","x_3","x_4"))
second_ts## x_1 x_2 x_3 x_4
## Jan 1961 1 6 11 16
## Feb 1961 2 7 12 17
## Mar 1961 3 8 13 18
## Apr 1961 4 9 14 19
## May 1961 5 10 15 20
## [1] TRUE
## [1] TRUE
ts Objectstsp()
frequency()
start()
end()
time()
window()
plot.ts() # only example
## [1] 1959.25 1961.50 4.00
## [1] 1961.000 1961.333 12.000
## [1] 4
## [1] 12
## Jan Feb Mar Apr May
## 1961 1961.000 1961.083 1961.167 1961.250 1961.333
## Qtr1 Qtr2 Qtr3 Qtr4
## 1959 1959.25 1959.50 1959.75
## 1960 1960.00 1960.25 1960.50 1960.75
## 1961 1961.00 1961.25 1961.50
## x_1 x_2 x_3 x_4
## Feb 1961 2 7 12 17
## Mar 1961 3 8 13 18
## Apr 1961 4 9 14 19
## May 1961 5 10 15 20
## x_1 x_2 x_3 x_4
## Feb 1961 2 7 12 17
## Mar 1961 3 8 13 18
## Apr 1961 4 9 14 19
## May 1961 5 10 15 20
## x_1 x_2 x_3 x_4
## Feb 1961 2 7 12 17
## Mar 1961 3 8 13 18
## Apr 1961 4 9 14 19
## May 1961 5 10 15 20
## Jun 1961 NA NA NA NA
## Jul 1961 NA NA NA NA
## Aug 1961 NA NA NA NA
## Sep 1961 NA NA NA NA
## Oct 1961 NA NA NA NA
## Nov 1961 NA NA NA NA
## Dec 1961 NA NA NA NA
## Jan 1962 NA NA NA NA
## Feb 1962 NA NA NA NA
## Mar 1962 NA NA NA NA
## Apr 1962 NA NA NA NA
## May 1962 NA NA NA NA
## Qtr1 Qtr2 Qtr3 Qtr4
## 1960 4 5 6 7
## 1961 8
## Qtr1 Qtr2 Qtr3 Qtr4
## 1959 1 2 3
## 1960 NA NA NA 7
## 1961 8 9 10
plot(second_ts, plot.type="single", lty=1:4, xlab="X", ylab="Y",
main="My First Multi-variate Time Series Plot")POSIXct Class
## [1] "Europe/Istanbul"
## Date[1:1], format: "2025-08-20"
## [1] "2025-08-20 UTC"
## POSIXct[1:1], format: "2025-08-20 10:23:56"
## POSIXlt[1:1], format: "2025-08-20 10:23:56"
## [1] "sec" "min" "hour" "mday" "mon" "year" "wday" "yday"
## [9] "isdst" "zone" "gmtoff"
## [1] 56.92476
## [1] 10
lubridate Package