R,迭代矩阵的行向量

时间:2013-04-14 23:34:07

标签: r vector matrix fold higher-order-functions

我有一些向量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

2 个答案:

答案 0 :(得分:2)

您在寻找apply吗?

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

答案 1 :(得分:1)

如果我理解vect是与mat2分开的向量:

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

apply函数允许您对行(如果第二个参数为1)或列(如果为2)或更高维度(如果> 2)应用任意函数。它也比使用循环快得多。

相关问题