コロンを使用した範囲指定により、連番要素からなるベクトルを簡単に生成することができます。
x <- 1:5 # c(1, 2, 3, 4, 5) と同様
x <- 5:1 # c(5, 4, 3, 2, 1) と同様
下記のように、ついでに演算を行うことで柔軟なベクトル生成を行えます。この例では、1, 2, 3 というシーケンスのそれぞれの要素に +1 したシーケンスを生成しています。
x <- (1:3)+1 # c(2, 3, 4) や 2:4 と同様
ちなみに、演算子 :
は、+
よりも結合度が高いため、上記の例のカッコを省略しても同様に動作します。
x <- 1:3+1 #=> 2, 3, 4
上記の結果は、ちょっと直感に反するかもしれません。
演算子 +
を先に評価するには、次のようにする必要があります。
x <- 1:(3+1) #=> 1, 2, 3, 4
seq()
関数を使用すると、より柔軟にシーケンスデータを生成できます。
下記の例では、0.1 刻みのデータを作成しています。
x <- seq(from=0, to=0.5, by=0.1) #=> 0.0, 0.1, 0.2, 0.3, 0.4, 0.5
len
パラメータを使うと、何分割するかを指定することができます。
下記の例では、-π~π の範囲の値を 100 等分して得られるシーケンスデータを生成しています。
x <- seq(-pi, pi, len=100)
plot(x, sin(x))
ちなみに sin 波は plot(sin, -pi, pi)
とすることで滑らかに描画できます。