こんにちは、ミントです
前回はベクトルを作るお話でした
今回はつくったベクトルを使って、いろいろな計算をしてみたいと思います
本記事の概要
ベクトルに数値を足したり・引いたりしてみましょう
ベクトル(1,2,3)をつくって、数値5を足したり引いたりしてみます
たし算ひき算をしてみます
ベクトルに数値を足したり引いたりすると、ベクトルの各要素と足したり引いたりされることがわかりました
かけ算とわり算もやってみます
同様に、ベクトルの各要素との計算がされていますね
ベクトル同士の足し算・引き算をしてみる
今度は、ベクトル同士の計算をみてみましょう
あたらしく(5,6,7)ベクトルを定義して、さきほどのベクトル(1,2,3)と計算してみましょう
足し算ひき算をしてみます
ベクトルの第1要素どうし、第2要素どうし、第3要素どうしの計算になっています
かけ算、わり算もやってみます
これも、各要素どうしの計算になっていますね
あれ!?
数学で習ったのと違う!!
って思った方もおられるかもしれません
ベクトル同士のかけ算って、「 内積(スカラー積) 」じゃなかったっけ??
ってことですよね?
そうなんです、Rでは、ふつうにかけ算すると、要素どうしのかけ算をするようになっています
じゃあ「 内積 」はどうやって計算するの?
ベクトル同士の内積を計算する
内積は、「 %*% (パーセント・アスタリスク・パーセント) 」をつかって表現します
たしかに内積が計算できていますね!(厳密にいうと、この場合Rは自動的に片方のベクトルを転置してから計算しています)
これまでの計算は、ベクトルの要素するが同じときの話でした
ベクトルの要素数がちがうベクトル同士の計算はどうなるんでしょう?
要素数がちがうベクトル同士の計算をしてみる
(7、8)ベクトルを定義して、(1,2,3)ベクトルと計算してみます
要素数が異なるベクトル同士のたし算
ベクトル1とベクトル3の計算結果は、(8、10、10)となりました
要素数がちがうので、警告メッセージが出ていますね
計算結果の(8,10,10)ですが、
- 8 = 1 + 7
- 10 = 2 + 8
- 10 = 3 + 7
として計算されています。さいごの3+7の7は、短いベクトル3の最初の要素7がもう一度使われています
要素数が異なっても、警告しながら、一応結果は返してくれるようになっているわけです
このルールは、ひき算、かけ算、わり算でも同じです
こんな感じになります ↓
ベクトル3の足りない3つめの要素は、最初の要素7が使われていることが確認できました
一方、内積を計算してみると、
となり、エラーが出て計算できないことがわかります
というわけで、今回は、ベクトル同士のたし算、ひき算、かけ算、わり算、そして内積をやりました
ベクトル同士の計算をするときには、要素数が違っても計算はされるので、思わぬバグにつながってしまうことがありえます。要素数を意識するようにしましょう
ちなみに、要素数を調べるには、「 length( ) 関数 」が使えます
ではまた!
ベクトルの要素1こ1こを、別々に扱う方法もございます↓
こちら無料で読めます↓