Rの始め方「ベクトルの扱い方」

Rにおけるデータ構造で紹介したものの一つにベクトル(vector)があります。

今回は、ベクトルの作成方法、確認方法、計算方法について見ていきましょう。

ベクトルの作成方法

ベクトルの作成方法はいくつかあります。今回は、関数c、関数rep、関数seqで作ってみましょう。

関数c

関数cでは、並べた通りの順番のベクトルを作成できます。

例えば(1,3,5,7,9,2,4,6)というベクトルを作りたいなら、下のように入力してみましょう。

オブジェクトaに、ベクトル (1,3,5,7,9,2,4,6) を入れ込むイメージです。

> a <- c(1,3,5,7,9,2,4,6)

> a
[1] 1 3 5 7 9 2 4 6

関数rep

関数repでは、指定した値を、指定した回数繰り返すベクトルを生成することができます。

例えば、500という数字を10回繰り返すベクトルを作りたいとします。その場合、下のように入力してみましょう。

オブジェクトbに、ベクトル (500, 500, 500, 500, 500, 500, 500, 500, 500, 500) が入ります。

> b <- rep(500,10)

> b
[1] 500 500 500 500 500 500 500 500 500 500

関数seq

関数seqでは、指定した始めの値から、指定した終わりの値まで、指定した等差数列のベクトルを生成することができます。

例えば、2から23まで、等差3のベクトルを作りたいとします。その場合、下のように入力してみましょう。

オブジェクトcに、ベクトル (2, 5, 8, 11, 14 ,17, 20, 23) が入ります。

> c<- seq(2,23,3)

> c
[1] 2 5 8 11 14 17 20 23

ベクトルの確認方法

さて、上の操作をRStudio上で行った場合、オブジェクト a, b, c にはそれぞれ以下のベクトルが入っています。

a = (1,3,5,7,9,2,4,6)

b = (500, 500, 500, 500, 500, 500, 500, 500, 500, 500)

c = (2, 5, 8, 11, 14 ,17, 20, 23)

ベクトルの長さを確認:length関数

ベクトル計算を行う場合、ベクトルの長さが同じもの同士でないと計算が成立しません。

そのため、まずはベクトルの長さを確認する必要があります。

ベクトルの長さを確認するための関数はlength()です。

括弧の中にオブジェクトを入れることで、そのオブジェクトに入っているベクトルの長さを確認できます。

> length(a)
[1] 8

> length(b)
[1] 10

> length(c)
[1] 8

ベクトルに入っている値を確認:ベクトルのオブジェクト名[順番]

ベクトル計算を行う際、計算内容を確かめるために「ベクトルの3番目の値が知りたい」ときがあるかもしれません。

その時には、ベクトルの入っているオブジェクト名と、何番目の値が知りたいかを指定することで確認できます。

例えば、今回作成したオブジェクトcに入っているベクトルの、5番目の値を見てみましょう。

c[5]と入力すれば、オブジェクトcに入っているベクトルの5番目の値が掃き出されます。

> c[5] [1] 14

オブジェクトaに入っているベクトルの2番目の値を確かめたいときは、a[2]です。

> a[2] [1] 3

ベクトルの計算方法

ベクトル計算を行う際には、「同じ長さのベクトルどうし」であることが必要です。

今回のオブジェクトa,b,cに入っているベクトルの長さは、それぞれ8,10,8なので、aとcに入っているベクトルどうしは計算できます。

aとb、bとcのベクトル計算はできません。

中学・高校数学で習ったベクトルの和・差や、ベクトルの内積・外積とは異なる部分もあるので混乱しないようにしましょう。

Rにおけるベクトルの四則演算は、単純にベクトルに入っている値を四則演算しているに過ぎません。

足し算

> a+c
[1] 3 8 13 18 23 19 24 29

引き算

> a-c
[1] -1 -2 -3 -4 -5 -15 -16 -17

掛け算

> a*c
[1] 2 15 40 77 126 34 80 138

割り算

> a/c
[1] 0.5000000 0.6000000 0.6250000 0.6363636 0.6428571 0.1176471 0.2000000 0.2608696

参照

Rの始め方「ベクトルの扱い方」

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

トップへ戻る