seq()関数

ベクトルシーケンス(等差数列)を生成する。

■等差数列とは
1, 4, 7, 10, 13…
のように、公差(各項の差)が等しい数字の並びのこと。
4 – 1 = 7 – 4 = 10 – 7 = 13 – 10 = 3

> seq(from=1, to=20, by=3) # 1〜20で、公差が3のベクトルシーケンスを作る。
[1]  1  4  7 10 13 16 19
> seq(1, 20, 3) # このように書いてもよい
[1]  1  4  7 10 13 16 19
> seq(1, 5) # 公差が1のときは省略できる
[1] 1 2 3 4 5
> seq(1:5) # このように書いてもよい
[1] 1 2 3 4 5
> 1:5 # 一番簡単な書き方
[1] 1 2 3 4 5
> seq(from=10, to=5, by=-1) # 公差がマイナスのとき
[1] 10  9  8  7  6  5
> 10:5 # もっと簡単に書く

整数だけでなく、実数のベクトルシーケンスも作れます。

> > seq(from=1, to=10, length=9) # 指定区間にlength個の数値を作る
[1]  1.000  2.125  3.250  4.375  5.500  6.625  7.750  8.875 10.000

:とc()関数の違い

:(seq()関数も)は整数を生成するのに対し、c()関数は浮動小数点を生成する。

(実験)

> x <- seq(1, 5)
> typeof(x)
[1] "integer"
> y <- c(1, 2, 3, 4, 5)
> typeof(y)
[1] "double"

ただし、seq()関数で浮動小数点のベクトルシーケンスを作った場合は、当然doubleになる。

> w <- seq(1, 10, length=9)
> w
[1]  1.000  2.125  3.250  4.375  5.500  6.625  7.750  8.875 10.000
> typeof(w)
[1] "double"