17  ベクトル(ベクトル同士の計算)(L21)

ここでは、ベクトル同士の計算について解説していきます。

a <- c(1,2,3,4,5)

a + 10 
[1] 11 12 13 14 15

ものすごく基本的な事項ですが、   プラス + は足し算を表します。

このように、ベクトルに対して、数字を一つ足すと、ベクトルに含まれる数字すべてに対して同じ計算が行われました。   これからは、「ベクトルに含まれる数字」のことを「要素」とよびます。   一般的な計算は、次の通りで、

a + 10  # + は足し算
[1] 11 12 13 14 15
a - 5   # - は引き算
[1] -4 -3 -2 -1  0
a * 5  # * はかけ算
[1]  5 10 15 20 25
a / 10  # / は割り算
[1] 0.1 0.2 0.3 0.4 0.5
a ** 2 
[1]  1  4  9 16 25
a ^ 2   # ** と ^ は塁乗
[1]  1  4  9 16 25
a %% 2  # %%  は割り算の余り
[1] 1 0 1 0 1
a %/% 2 # %/% は割り算の商
[1] 0 1 1 2 2

を表します

ちょっと記号がたくさんでてきてごちゃごちゃしますが、つかっているうちになれるはずです。

ここで、新しいベクトルを作ってみましょう

b <- c(10,11,12,13,14)

これまで ベクトルと数字の計算を実行してきましたが、ベクトル同士で計算を行ったらどうなるでしょうか?

a
[1] 1 2 3 4 5
b
[1] 10 11 12 13 14
a + b 
[1] 11 13 15 17 19

こんな結果になりました。


 a  :  1  2  3  4  5
 b  : 10 11 12 13 14
 a+b: 11 13 15 17 19

どういう計算が行われたか、わかりますか?

ベクトル同士の計算を行った場合は、同じ位置同士での計算が行われる形になっています。なので、

a + b
[1] 11 13 15 17 19
a * b
[1] 10 22 36 52 70
a - b
[1] -9 -9 -9 -9 -9
a / b
[1] 0.1000000 0.1818182 0.2500000 0.3076923 0.3571429
b ** a 
[1]     10    121   1728  28561 537824
b %% a 
[1] 0 1 0 1 4
b %/% a 
[1] 10  5  4  3  2

いかがでしょう?

同じ位置同士の計算が行われるイメージができましたか?

スライドの解説では、一般的な表形式のデータの1本の列がベクトルでRでは表されていると解説いたしました。

今回、お示しした計算を組み合わせることで、いろいろな加工がデータに対してできます。