seq {base}R Documentation

Sequence Generation

Description

Generate regular sequences.

Usage

from:to
   a:b

seq(from, to)
seq(from, to, by=)
seq(from, to, length=)
seq(along=)
seq(from)

Arguments

from starting value of sequence.
to (maximal) end value of the sequence.
by increment of the sequence.
length desired length of the sequence.
along take the length from the length of this argument.
a,b factors of same length.

Details

The binary operator : has two meanings: for factors a:b is equivalent to interaction(a, b) (except for labelling by la:lb not la.lb). For numeric arguments a:b is equivalent to seq(from=a, to=b).

The interpretation of the unnamed arguments of seq is not standard, and it is recommended always to name the arguments when programming.

Function seq is generic, and only the default method is described here.

The operator : and the seq(from, to) form generate the sequence from, from+1, ..., to.

The second form generates from, from+by, ..., up to the sequence value less than or equal to to.

The third generates a sequence of length equally spaced values from from to to.

The fourth form generates the sequence 1, 2, ..., length(along).

The last generates the sequence 1, 2, ..., length(from) (as if argument along had been specified), unless the argument is numeric of length 1 when it is interpreted as 1:from (even for seq(0) for compatibility with S).

If from and to are factors of the same length, then from : to returns the “cross” of the two.

Very small sequences (with from - to of the order of 10^{-14} times the larger of the ends) will return from.

Value

The result is of mode "integer" if from is (numerically equal to an) integer and by is not specified.

References

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

See Also

The method seq.POSIXt.

rep, sequence, row, col.

As an alternative to using : for factors, interaction.

Examples

1:4
pi:6 # float
6:pi # integer

seq(0,1, length=11)
seq(rnorm(20))
seq(1,9, by = 2) # match
seq(1,9, by = pi)# stay below
seq(1,6, by = 3)
seq(1.575, 5.125, by=0.05)
seq(17) # same as 1:17

for (x in list(NULL, letters[1:6], list(1,pi)))
  cat("x=",deparse(x),";  seq(along = x):",seq(along = x),"\n")

f1 <- gl(2,3); f1
f2 <- gl(3,2); f2
f1:f2 # a factor, the "cross"  f1 x f2

[Package Contents]