R の内積を計算する方法: 例付き
ベクトルa = [a 1 , a 2 , a 3 ] およびベクトルb = [b 1 , b 2 , b 3 ] とすると、ベクトル a とベクトル b のスカラー積( abで示される) は次のように求められます。
ab = a 1 * b 1 + a 2 * b 2 + a 3 * b 3
たとえば、 a = [2, 5, 6] およびb = [4, 3, 2] の場合、 aとbの内積は次のようになります。
ab = 2*4 + 5*3 + 6*2
ab = 8 + 15 + 12
腹部 = 35
基本的に、ドット積は 2 つのベクトルの対応するエントリの積の合計です。
R の内積を計算する方法
R で 2 つのベクトルの内積をすばやく計算するには、2 つの方法があります。
方法 1: %*% を使用する
次のコードは、 %*%関数を使用して、R の 2 つのベクトル間のドット積を計算する方法を示しています。
#definevectors a <- c(2, 5, 6) b <- c(4, 3, 2) #calculate dot product between vectors a %*% b [,1] [1,] 35
内積は35であることがわかります。
この関数はデータ フレーム列にも機能することに注意してください。
#define data df <- data.frame(a=c(2, 5, 6), b=c(4, 3, 2)) #calculate dot product between columns 'a' and 'b' of data frame df$a %*% df$b [,1] [1,] 35
方法 2: dot() 関数を使用する
pracmaライブラリのdot()関数を使用して、2 つのベクトル間のドット積を計算することもできます。
library (pracma) #definevectors a <- c(2, 5, 6) b <- c(4, 3, 2) #calculate dot product between vectors dot(a,b) [1] 35
ここでも、2 つのベクトルの内積は35であることがわかります。
関連: R で外積を計算する方法
追加リソース
次のチュートリアルでは、他の統計ソフトウェアを使用してドット積を計算する方法を説明します。