【发布时间】:2014-02-04 03:29:16
【问题描述】:
我正在尝试使用lapply 函数(或者实际上是mclapply 函数)而不是apply 函数来制定下面的代码。我希望它返回一个矩阵或类似的而不是一个列表。 hi函数在我的实际代码中非常复杂,所以我只是举了一个非常基本的例子。
hi <- function(a, matrix) {
hi <- a[1] / a[2] * t(matrix) %*% matrix
return(hi)
}
a_1 <- t(matrix(1:4))
a_2 <- t(matrix(5:8))
choleski <- matrix(1:4)
result <- apply(rbind(a_1, a_2), 2, hi, matrix=choleski)
所以我的问题基本上是,如何使用lapply 而不是apply 重新编写上面的代码,即将lapply 函数应用于hi 函数而不是使用apply 过程。一个有效的解决方案会很棒。
谢谢。
【问题讨论】:
-
lapply返回列表。也许您想使用sapply或 mc* 等价物?您是在问如何有效地将hi应用于rbind(a_1, a_2)的每一列? -
我在问,我如何重新表述问题,以便使用 mclapply/lapply 而不是 apply 过程,即将两个矩阵变成一个列表应用 lapply 函数,然后将它变成一个再次矩阵。如果应用/应用有类似的 mc 函数,那也很棒。谢谢。