我有一些向量vect
,我想迭代矩阵的行向量v
并计算:
cov(v, vect)
。
我试过了:
for(vect in mat2) #where mat2 is a 215 by 31 matrix
然而,每个向量似乎是一个值为1的标量。
cov(v, vect)
的总和,其中v是行向量,如何使用高阶函数left-fold
和right-fold
答案 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)应用任意函数。它也比使用循环快得多。