4

いくつかのベクトルがあり、行列vectの行ベクトルを反復処理してv計算したい:

cov(v, vect).

私は試した:

for(vect in mat2)     #where mat2 is a 215 by 31 matrix

ただし、各ベクトルは値 1 のスカラーのように見えました。

  1. 行列の行ベクトルを反復するにはどうすればよいですか?
  2. これをさらに良くするためにcov(v, vect)、v が行ベクトルである場所の合計を計算することに関心があるため、高階関数left-foldright-fold
4

2 に答える 2

5

お探しapplyですか?

apply(mat2, 1, function(v)cov(v,vect))
于 2013-04-14T23:37:51.483 に答える
3

vect が mat2 とは別のベクトルであることがわかっている場合:

apply(mat2, 1, function(v) cov(v, vect))

apply 関数を使用すると、行 (2 番目の引数が 1 の場合) または列 (2 の場合) またはより高い次元 (>2 の場合) に任意の関数を適用できます。また、ループを使用するよりもはるかに高速です。

于 2013-04-14T23:38:54.190 に答える