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 函数允许您在行(如果第二个参数为 1)或列(如果 2)或更高维度(如果 >2)上应用任意函数。它也比使用循环快得多。

于 2013-04-14T23:38:54.190 回答