以下を使用してRでマトリックスを生成しています。
ncolumns = 3
nrows = 10
my.mat <- matrix(runif(ncolumns*nrows), ncol=ncolumns)
この行列は、3D の点の座標を示します。Rで以下を計算する方法は?
sum of x(i)*y(i)
たとえば、行列が次の場合、
x y z
1 2 3
4 5 6
次に出力=1*2 + 4*5
私は R を学ぼうとしています。
ありがとう
以下を使用してRでマトリックスを生成しています。
ncolumns = 3
nrows = 10
my.mat <- matrix(runif(ncolumns*nrows), ncol=ncolumns)
この行列は、3D の点の座標を示します。Rで以下を計算する方法は?
sum of x(i)*y(i)
たとえば、行列が次の場合、
x y z
1 2 3
4 5 6
次に出力=1*2 + 4*5
私は R を学ぼうとしています。
ありがとう
%*% 関数を探しています。
ncolumns = 3
nrows = 10
my.mat <- matrix(runif(ncolumns*nrows), ncol=ncolumns)
(my.answer <- my.mat[,1] %*% my.mat[,2])
# [,1]
# [1,] 1.519
あなたは単に行う:
# x is the first column; y is the 2nd
sum(my.mat[i, 1] * my.mat[i, 2])
列に名前を付けたい場合は、それらを直接参照できます
colnames(my.mat) <- c("x", "y", "z")
sum(my.mat[i, "x"] * my.mat[i, "y"])
# or if you want to get the product of each i'th element
# just leave empty the space where the i would go
sum(my.mat[ , "x"] * my.mat[ , "y"])
各列は の 2 番目の引数で指定される[]
ため、
my_matrix[,1] + my_matrix[,2]
は、あなたが必要とすることすべてです。