I. Ozkan
Spring 2025
as.Date()
Sys.Date()
weekdays()
seq.Date()
## [1] "2025-02-27"
## [1] "27 02 25"
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] "27 Feb 25"
## [1] "27 February 25"
## [1] "27 February 2025"
as.Date()
Function
## [1] "2015-04-28" "2016-11-12"
## [1] "28 April 2015" "12 November 2016"
## [1] "2017-07-14"
## [1] "1jan1960" "2jan1960" "31mar1960" "30jul1960"
## [1] "1960-01-01" "1960-01-02" "1960-03-31" "1960-07-30"
# 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
datestring <- c("January 10, 2012 10:40", "December 9, 2011 9:10")
# strptime() function
(datestring_d <- strptime(datestring, "%B %d, %Y %H:%M"))
## [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] "2023-05-05"
## [1] "2023-03-05"
## Time difference of 61 days
## [1] "2023-05-05"
## [1] "2023-05-06"
## [1] "2023-05-04"
## [1] "2023-03-05"
## [1] "2023-03-06"
## [1] "2023-03-04"
## [1] TRUE
## [1] FALSE
weekdays()
and seq.Date()
Functions## [1] "2025-02-27"
## [1] "Thursday"
## [1] "Friday" "Saturday" "Sunday" "Monday" "Tuesday" "Wednesday"
## [7] "Thursday" "Friday" "Saturday" "Sunday"
## [1] "2020-01-01" "2020-04-01" "2020-07-01" "2020-10-01" "2021-01-01"
## [6] "2021-04-01" "2021-07-01" "2021-10-01" "2022-01-01" "2022-04-01"
## [11] "2022-07-01" "2022-10-01" "2023-01-01"
## [1] "2020-01-01" "2020-04-01" "2020-07-01" "2020-10-01" "2021-01-01"
## [6] "2021-04-01" "2021-07-01" "2021-10-01" "2022-01-01" "2022-04-01"
## [11] "2022-07-01" "2022-10-01" "2023-01-01"
# by= one the ("day", "week", "month", "quarter" or "year")
seq.Date(from=as.Date("2020/1/1"), length.out = 5, by="quarter")
## [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"
## [1] "2020-01-01" "2020-01-02" "2020-01-03" "2020-01-04" "2020-01-05"
## [1] "2020-01-01" "2021-01-01" "2022-01-01" "2023-01-01" "2024-01-01"
## [1] "2023-05-05"
## [1] "2023-05-05" "2023-05-12" "2023-05-19" "2023-05-26" "2023-06-02"
## [6] "2023-06-09"
## [1] "2023-03-05" "2023-03-12" "2023-03-19" "2023-03-26" "2023-04-02"
## [6] "2023-04-09"
## [1] "Friday" "Friday" "Friday" "Friday" "Friday" "Friday"
## [1] "Friday" "Saturday" "Sunday" "Monday" "Tuesday" "Wednesday"
## [1] "Friday" "Monday" "Wednesday" "Saturday" "Tuesday" "Thursday"
## [1] "Friday" "Saturday" "Sunday" "Monday" "Sunday" "Monday"
## [1] "Friday" "Sunday" "Monday" "Tuesday" "Wednesday" "Friday"
## [1] "2023-05-05"
## [1] 19482
## Time difference of 19482 days
ts
Objectsts(data = NA, start = 1, end = numeric(), frequency = 1,
deltat = 1, ts.eps = getOption("ts.eps"), class = , names = )
as.ts()
is.ts()
## 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 8 15 22
## Feb 1961 2 9 16 23
## Mar 1961 3 10 17 24
## Apr 1961 4 11 18 25
## May 1961 5 12 19 26
## Jun 1961 6 13 20 27
## Jul 1961 7 14 21 28
# with column names
second_ts <- ts(matrix(1:28, 7), 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 8 15 22
## Feb 1961 2 9 16 23
## Mar 1961 3 10 17 24
## Apr 1961 4 11 18 25
## May 1961 5 12 19 26
## Jun 1961 6 13 20 27
## Jul 1961 7 14 21 28
## [1] TRUE
## [1] TRUE
ts
Objectstsp()
frequency()
start()
end()
time()
window()
plot.ts() # only example
## [1] 1959.25 1961.50 4.00
## [1] 1961.0 1961.5 12.0
## [1] 4
## [1] 12
## Jan Feb Mar Apr May Jun Jul
## 1961 1961.000 1961.083 1961.167 1961.250 1961.333 1961.417 1961.500
## 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 9 16 23
## Mar 1961 3 10 17 24
## Apr 1961 4 11 18 25
## May 1961 5 12 19 26
## Jun 1961 6 13 20 27
## Jul 1961 7 14 21 28
## x_1 x_2 x_3 x_4
## Feb 1961 2 9 16 23
## Mar 1961 3 10 17 24
## Apr 1961 4 11 18 25
## May 1961 5 12 19 26
## Jun 1961 6 13 20 27
## x_1 x_2 x_3 x_4
## Feb 1961 2 9 16 23
## Mar 1961 3 10 17 24
## Apr 1961 4 11 18 25
## May 1961 5 12 19 26
## Jun 1961 6 13 20 27
## Jul 1961 7 14 21 28
## 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-02-27"
## [1] "2025-02-27 UTC"
## POSIXct[1:1], format: "2025-02-27 10:32:22"
## POSIXlt[1:1], format: "2025-02-27 10:32:22"
## [1] "sec" "min" "hour" "mday" "mon" "year" "wday" "yday"
## [9] "isdst" "zone" "gmtoff"
## [1] 22.12668
## [1] 10