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