Rにおけるデータ構造で紹介したものの一つにベクトル(vector)があります。
今回は、ベクトルの作成方法、確認方法、計算方法について見ていきましょう。
Table of Contents
ベクトルの作成方法
ベクトルの作成方法はいくつかあります。今回は、関数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 |
関数rep
関数repでは、指定した値を、指定した回数繰り返すベクトルを生成することができます。
例えば、500という数字を10回繰り返すベクトルを作りたいとします。その場合、下のように入力してみましょう。
オブジェクトbに、ベクトル (500, 500, 500, 500, 500, 500, 500, 500, 500, 500) が入ります。
> b <- rep(500,10)
> b |
関数seq
関数seqでは、指定した始めの値から、指定した終わりの値まで、指定した等差数列のベクトルを生成することができます。
例えば、2から23まで、等差3のベクトルを作りたいとします。その場合、下のように入力してみましょう。
オブジェクトcに、ベクトル (2, 5, 8, 11, 14 ,17, 20, 23) が入ります。
> c<- seq(2,23,3)
> c |
ベクトルの確認方法
さて、上の操作を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) > length(c) |
ベクトルに入っている値を確認:ベクトルのオブジェクト名[順番]
ベクトル計算を行う際、計算内容を確かめるために「ベクトルの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 |