統計解析フリーソフト「R」で統計学に入門する22 【ベクトルを効率よくつくる】

こんにちは、ミントです

今回は、「R」のデータ構造の「ベクトル」をくわしく紹介したいと思います

ベクトルは複数のデータを1つのかたまりとして扱うことができます

 

本記事の概要

ベクトルをつくってみよう

Rでベクトルをつくるには、「c ( ) 関数」をつかいます

(c は、combineかconcatenateの略で、「結合」の意味です。データを結合して1つにまとめるの意味です)

Rでベクトルを操作する

test というオブジェクトに、1,3,5,7,9という5つの数値をまとめて格納しています

ベクトルの要素は数値でなくても、文字でも可能です

Rで文字ベクトルをつくる

ベクトルの要素は数値でも文字でも論理値(True, False)でも可能です。(さらにいうと、ベクトルの中に別のベクトルを含めることもできます)

ただし、「1つのベクトルの中身は、同じデータ型でなければいけない」という規則があります

ちょっと実験してみましょう

Rのベクトルの要素でデータ型を意識する

このベクトルでは、メロン、3、FALSE として、文字型、数値型、論理型のデータをひとまとまりに扱っています

あれ?同じデータ型でなくていいの??

って思った方もおられるかと思います

ベクトルのデータ型を調べてみると、文字型(character)となっています

Rのベクトルでデータ型を調べる

数値型や論理型は、強制的に文字型に変更されて格納されています

なぜ文字型に変更されたかですが、ベクトルに含まれるデータ型を比較して、なるべく情報が失われないような最適なデータ型に変えられた、と理解できます

メロンは数値型や論理型では表現できないので、ベクトル内のデータはすべて文字型に変更されているわけです

 

ベクトルをつくるときに便利な2つの関数

ベクトルをつくるときに、たとえば、

  • 同じ数値をいくつも多数必要とか
  • 1,2,3,4・・・など規則的に変化する値が必要とか

そんなときには、関数をつかうことで、手軽につくることができます

 

(1)、同じ要素をたくさん使いたいとき

「 rep () 関数 」をつかいます(repeat (繰り返し)の意味です)

rep(繰り返したい要素, 繰り返す回数)  として指定します

たとえば、7を10個含んだベクトルをつくるにはこのようにできます

Rで同じ値のベクトルをつくるrep

他にも、1,2,3 を3回繰り返したいときには、このようにできます

Rで繰り返しの値のベクトルをつくる

1,2,3というベクトルを、3回繰り返すというように使えます

文字でも可能です。こんな感じです ↓

Rで繰り返した要素のベクトルをつくる

ほかにも、繰り返したい要素ごとに、繰り返し回数を指定することもできます

Rで繰り返す要素を異なる回数指定したベクトルを作成する

この例では、(3,5)の3は2回、5は7回繰り返すように指定しています

このように、同じ値を含むベクトルはrep ( ) 関数をうまく使いましょう

 

(2)、一定間隔で連続する数をつくりたいとき

1,3,5,7,9,13、・・・といったように、一定間隔の連続する数値をつくりたいときは、「 seq ( ) 関数 」をつかえます(sequence (連続)の意味です)

seq (最初の値,  最後の値,  数値の間隔) と指定します

Rで連続値ベクトルをつくる

1から10までの整数を3つ間隔で生成させています

数値の間隔は、マイナスもできます

Rで連続値ベクトルを生成する

このように、10から-10まで、-2ずつ変化させたベクトルを生成させています

もし間隔が1なら、もっとカンタンに指定することができます

Rで連続値ベクトルを生成する

このように、数値の間に「 コロン: 」をおくことで、コロンの右の数値から左の数値まで1つずつ変化さえた値を表現することができます

 

ベクトルの要素の数を調べてみましょう

たくさんの要素を含んだベクトルなどでは、中身に何個の要素があるか知りたいことがあります

こんなときは、「 length ( ) 関数 」 をつかいます

Rでベクトルの要素数を調べる

vec7 オブジェクトの要素数は 7 ということがわかります

 

というわけで今回は、ベクトルの作り方と、要素数の数え方をやりました。

 

 

ベクトルを使った計算を、いろいろやってみました↓

こちら無料で読めます↓