こんにちは、ミントです
今回は、「R」のデータ構造の「ベクトル」をくわしく紹介したいと思います
ベクトルは複数のデータを1つのかたまりとして扱うことができます
本記事の概要
ベクトルをつくってみよう
Rでベクトルをつくるには、「c ( ) 関数」をつかいます
(c は、combineかconcatenateの略で、「結合」の意味です。データを結合して1つにまとめるの意味です)
test というオブジェクトに、1,3,5,7,9という5つの数値をまとめて格納しています
ベクトルの要素は数値でなくても、文字でも可能です
ベクトルの要素は数値でも文字でも論理値(True, False)でも可能です。(さらにいうと、ベクトルの中に別のベクトルを含めることもできます)
ただし、「1つのベクトルの中身は、同じデータ型でなければいけない」という規則があります
ちょっと実験してみましょう
このベクトルでは、メロン、3、FALSE として、文字型、数値型、論理型のデータをひとまとまりに扱っています
あれ?同じデータ型でなくていいの??
って思った方もおられるかと思います
ベクトルのデータ型を調べてみると、文字型(character)となっています
数値型や論理型は、強制的に文字型に変更されて格納されています
なぜ文字型に変更されたかですが、ベクトルに含まれるデータ型を比較して、なるべく情報が失われないような最適なデータ型に変えられた、と理解できます
メロンは数値型や論理型では表現できないので、ベクトル内のデータはすべて文字型に変更されているわけです
ベクトルをつくるときに便利な2つの関数
ベクトルをつくるときに、たとえば、
- 同じ数値をいくつも多数必要とか
- 1,2,3,4・・・など規則的に変化する値が必要とか
そんなときには、関数をつかうことで、手軽につくることができます
(1)、同じ要素をたくさん使いたいとき
「 rep () 関数 」をつかいます(repeat (繰り返し)の意味です)
rep(繰り返したい要素, 繰り返す回数) として指定します
たとえば、7を10個含んだベクトルをつくるにはこのようにできます
他にも、1,2,3 を3回繰り返したいときには、このようにできます
1,2,3というベクトルを、3回繰り返すというように使えます
文字でも可能です。こんな感じです ↓
ほかにも、繰り返したい要素ごとに、繰り返し回数を指定することもできます
この例では、(3,5)の3は2回、5は7回繰り返すように指定しています
このように、同じ値を含むベクトルはrep ( ) 関数をうまく使いましょう
(2)、一定間隔で連続する数をつくりたいとき
1,3,5,7,9,13、・・・といったように、一定間隔の連続する数値をつくりたいときは、「 seq ( ) 関数 」をつかえます(sequence (連続)の意味です)
seq (最初の値, 最後の値, 数値の間隔) と指定します
1から10までの整数を3つ間隔で生成させています
数値の間隔は、マイナスもできます
このように、10から-10まで、-2ずつ変化させたベクトルを生成させています
もし間隔が1なら、もっとカンタンに指定することができます
このように、数値の間に「 コロン: 」をおくことで、コロンの右の数値から左の数値まで1つずつ変化さえた値を表現することができます
ベクトルの要素の数を調べてみましょう
たくさんの要素を含んだベクトルなどでは、中身に何個の要素があるか知りたいことがあります
こんなときは、「 length ( ) 関数 」 をつかいます
vec7 オブジェクトの要素数は 7 ということがわかります
というわけで今回は、ベクトルの作り方と、要素数の数え方をやりました。
ベクトルを使った計算を、いろいろやってみました↓
こちら無料で読めます↓