ベクトルシーケンス(等差数列)を生成する。
■等差数列とは
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"