Learn R Programming

splusTimeDate (version 2.5.8)

timeSeq: Sequences of Times

Description

Constructs a regularly-spaced timeDate object.

Usage

timeSeq(from, to, by = "days", length.out, k.by=1, align.by=FALSE,  
        extend=FALSE, week.align=NULL, holidays, exceptions, 
        additions, format, zone)

Value

returns a time/date object as defined by the arguments.

Arguments

at least one of from or to is required, plus length.out (the desired length of the resulting sequence). Alternatively can be both from and to, in which case if length.out and by are supplied, length.out is ignored.

from

the starting value of the sequence: a timeDate object (or number or character string representing one).

to

the ending value of the sequence: a timeDate object (or number or character string representing one).

by

the spacing between the successive values in the sequence. This can be a timeSpan, timeRelative, or numeric value, in which case k.by is ignored. Alternatively, it can be one of the following character strings, giving the time units of intervals between values in the sequence:


    "milliseconds"
    "seconds"
    "minutes"
    "hours"
    "days"
    "weekdays"
    "bizdays"
    "weeks"
    "months"
    "quarters"
    "years"
    

length.out

the length of the sequence before additions and exceptions are included.

k.by

a non-zero integer giving the width of the interval between consecutive values in the sequence in terms of the units given in by. Ignored if by is not a character string.

align.by

a logical value. If TRUE, adjusts the sequence so that each element is on a whole number of the by * k.by units. For example, if the units are 2 months, the sequence is on only the first of January, March, May, and so on. Ignored if by is not a character string.

extend

a logical value. If TRUE and align.by is also TRUE, instead of making the entire sequence lie between from and to, make it extend just past from and to to the next aligned values. For example, if from is January 15th and the sequence is by 1 month units, and if extend is FALSE, the sequence starts on February 1st, and if it is TRUE, January 1st. Ignored if by is not a character string.

week.align

if by is "weeks", you can supply a character string (or a number 0 to 6, with 0 being Sunday) to specify a weekday. The character string must be sufficient to make a unique case-insensitive match to the strings in timeDateOptions("time.day.name"). The sequence is adjusted so all its elements fall on the given weekday. If align.by is TRUE, then it is adjusted to start at midnight. The extend argument is used to decide which direction to adjust the day.

This argument is ignored if by is not a character string, or if it is not "weeks".

holidays

the holidays for business day sequences (ignored if by is not a character string).

exceptions

an event object giving any time periods when the sequence should have no values. These are applied after the sequence is created from from/to/by length.out.

additions

any additional times or dates to put in the sequence.

format

the time/date output format for printing.

zone

the time zone for the sequence.

See Also

seq, timeAlign, timeSequence, format.timeDate, holidays, timeEvent

Examples

Run this code
timeSeq("1/1/1992", "1/10/1992") 
timeSeq("1/1/1992", "12/1/1992", by = "months") 
timeSeq("1/3/1992", "12/5/1992", by = "months", align.by=TRUE) 
timeSeq("1/3/1992", "12/5/1992", by = "months", align.by=TRUE, extend=TRUE) 
timeSeq("1/1/1992", "1/31/1992", by = "weeks", align.by=TRUE,  
   week.align="Mon") 
timeSeq("1/1/1992", "12/31/1992", by="weekdays", exceptions=holidays(1992))
timeSeq("1/1/1992", "1/1/1995", by="months", exceptions=timeEvent("1/1/1993", "12/31/1993"))
## subtract one day from a first-of-month sequence to create
## an end-of-month sequence
timeSeq(from = "2/1/2003", to = "1/1/2004", by = "months" ) - 1

Run the code above in your browser using DataLab