seq()

seq(from = 1, to = 1, by = ((to - from)/(length.out - 1)), length.out = NULL, along.with = NULL)
Returns: numeric · Updated March 13, 2026 · Base Functions
sequence numbers base

seq() creates sequences of numbers with precise control over start, end, length, and step size. It’s essential for looping, creating index vectors, and generating test data.

Syntax

seq(from = 1, to = 1, by = ((to - from)/(length.out - 1)), length.out = NULL, along.with = NULL)

Parameters

ParameterTypeDefaultDescription
fromnumeric1Starting value of the sequence
tonumeric1Ending value (inclusive)
bynumeric(to-from)/(length.out-1)Step size (increment)
length.outintegerNULLDesired length of the sequence
along.withvectorNULLTake length from this object

Examples

Basic sequence from 1 to 10

seq(1, 10)
#  [1]  1  2  3  4  5  6  7  8  9 10

Sequence with custom increment

seq(0, 100, by = 10)
#  [1]   0  10  20  30  40  50  60  70  80  90 100

seq(1, 9, by = 2)
# [1] 1 3 5 7 9

Sequence with specified length

seq(0, 1, length.out = 5)
# [1] 0.00 0.25 0.50 0.75 1.00

seq(0, 10, length.out = 3)
# [1]  0  5 10

Using along.with to match another vector’s length

x <- c("a", "b", "c", "d")
seq(along.with = x)
# [1] 1 2 3 4

seq(10, 50, along.with = x)
# [1] 10 23 36 50

Negative sequences

seq(10, 1, by = -1)
#  [1] 10  9  8  7  6  5  4  3  2  1

seq(5, -5, length.out = 11)
#  [1]  5  4  3  2  1  0 -1 -2 -3 -4 -5

Fractional sequences

seq(0, 1, by = 0.1)
#  [1] 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0

Common Patterns

Creating index vectors for loops

n <- 5
for (i in seq_len(n)) {
  print(i)
}
# [1] 1
# [1] 2
# [1] 3
# [1] 4
# [1] 5

Generating test data frames

df <- data.frame(
  id = seq(1, 100),
  value = seq(0, 99) ^ 2
)
head(df)
#   id value
# 1  1     0
# 2  2     1
# 3  3     4
# 4  4     9
# 5  5    16
# 6  6    25

Creating time-based sequences

# Daily sequence for a week
seq(as.Date("2026-01-01"), as.Date("2026-01-07"), by = "day")
# [1] "2026-01-01" "2026-01-02" "2026-01-03" "2026-01-04" "2026-01-05"
# [6] "2026-01-06" "2026-01-07"

Reproducible sequences with set.seed

set.seed(42)
seq_len(5) + sample(0:10, 5)
# [1]  3  8 12  7 11

See Also