通过消除'for'循环来优化代码

时间:2015-07-10 13:46:37

标签: r for-loop optimization lapply sapply

我有这个我正在使用的代码,它有很多for循环。以下是代码的一部分,由于尺寸的原因,最容易进行优化。

calcobj_i <- function (X, iter, pa) 
{ 
    ww = rep(0, pa$n)
    for (k in 1:pa$K) {
        w = iter$cw[k] * 
                dmnorm(X, iter$center[k,], iter$Lambda[,,k] %*% 
                t(iter$Lambda[,,k]) + iter$Psi[,,k]) 
        w = w*(w>=0) 
        ww = w+ww 
    }
}

此处iterpa是包含向量和矩阵的列表,例如lambdacwcenterPsi,其中包含上述尺寸而X是一个矩阵。 dmnorm是多元正态密度函数,它给出了一个值向量。

我想知道如何在这些类型的函数中使用applylapply或任何其他转换。

0 个答案:

没有答案
相关问题