rep                   package:base                   R Documentation

Replicate Elements of Vectors and Lists

Description:

     `rep' replicates the values in `x' according to the values given
     in `times' and `length.out'.

Usage:

     rep(x, times, length.out)

Arguments:

       x: a vector (of any mode including a list) or a pairlist.

   times: integer.  A vector giving the number of times to repeat each
          element. Either of length 1 or `length(x)'.

length.out: integer.  (Optional.)  The desired length of the output
          vector.

Details:

     If `times' consists of a single integer, the result consists of
     the values in `x' repeated this many times. If `times' is a vector
     of the same length as `x', the result consists of `x[1]' repeated
     `times[1]' times, `x[2]' repeated `times[2]' times and so on.

     `length.out' may be given in place of `times', in which case `x'
     is repeated as many times as is necessary to create a vector of
     this length.  If both `length.out' and `times' are specified,
     `times' determines the replication, and `length.out' can be used
     to truncate the output vector (or extend it by `NA's).

     Non-integer values of `times' will be truncated towards zero. If
     `times' is a computed quantity it is prudent to add a small fuzz.

Note:

     If the original vector has names, these are also replicated and so
     will almost always contain duplicates.

See Also:

     `seq', `sequence'.

Examples:

     rep(1:4, 2)
     rep(1:4, c(2,2,2,2))     # same as above, length 8.
     rep(1:4, c(2,1,2,1))
     rep(1:4, c(2,2,2,2), 4)  # first 4 only.
     rep(1:4, c(2,2,2,2), 10) # 8 intgers plus two NAs

     rep(1, 40*(1-.8)) # length 7 on most platforms
     rep(1, 40*(1-.8)+1e-7) # better

     ## replicate a list
     fred <- list(happy = 1:10, name = "squash")
     rep(fred, 5)

