どうも!chuckです。
空いた時間にR言語を勉強していきます。今回勉強するのはR言語のベクトルについてです!
ベクトル
えっ、ベクトル?!と文系としては怯えてたんですが、要は配列のようなもの??みたいです。
c(1, 3, 5) のように書きます。小文字のcと丸括弧です。
ベクトルは変数に代入したり、添字を使って参照や代入をすることが可能です。
文字列や、
論理値を代入することも可能です。
また、ある範囲内の数値をベクトルに格納することもできるようです。
1:10 と書くことで、1から10までの数値をベクトルに格納します。
負の数バージョン。
よりきめ細かい指定をしたい場合、seq(セクエンス)を使うと良いらしいです。
こちらは通常のベクトルと同じ。
このようにすると、2コ飛ばしになります。
こうすると、1から10の間で、数値を5つ設定します。しかも、それぞれの数値が等間隔になります。
これすごくないですか??自分にとっては新鮮でした。プログラム的には、( end - first ) / ( length - 1) づつ足していけばOKっぽいですかね。
また、リピートというのもあるようです。
このようにtimesを使うと、1から5まで3回繰り返します。
一方で、lengthを使うと、ループの回数ではなく要素の数だけループをしてくれます。この場合lengthが10なので、10コになるまでループします。
ベクトルの演算
ベクトルに対して演算を行うことも可能です。
まず、2つのベクトルを用意します。
x (1, 3, 5)に対して2をかけてみます。
1を引くとこんな感じ。
また、ベクトル同士を演算するとこのとおり。
ベクトルの要素同士を比較することもできるようです。
このように、順番ごとに比較されて論理値が返ってきます。
ちなみに、x の要素を増やしてみます。その上でyと比較するとエラーが発生しました。
xの要素がyにあるかどうかはinを使って調べることができます。
和集合-> union, 積集合->intersect, 差集合-> setdiff, 全一致-> setequal
因子ベクトル
因子ベクトルとは、カテゴリ付きのベクトルらしいです。
これはまだふつうのベクトル。
factorを使うことで因子ベクトルにすることができます。
Levelsという名前でカテゴリ分けがされていますね。
levelsをつかえばカテゴリを取得できます。
また、カテゴリを任意の順番で設定することもできます
factorを使う時に、第二引数にセットすればいいんですね!
さらに、orderedを使うと順序を指定することもできます。
まとめ
R言語のベクトルについて勉強しました。拡張性のあるデータの集まりといった感じで、ES6の配列みたいだなと思いました!
次回は「行列」について勉強していきます。(いよいよ数学っぽくて怯えてます…w)
では!
(めっちゃブクマされてる!)