【发布时间】:2014-05-11 22:06:28
【问题描述】:
我目前正在使用 optim 估计 R 中的模型,但它真的很慢,如果我用零初始化它大约需要 30 分钟。当我分析整个事情时,我发现 apply 花费的时间最多,这是有道理的。所以这引出了我的问题:
x.arr <- array(1:9, c(3, 10, 3))
b <- 1:3
f <- function(x, b) {
exp(x%*%b)
}
u.mat <- apply(x.arr, 2, f, b = b)
有没有更有效的方法来做到这一点? x.arr 是一个 3D 数组,所以似乎应该有某种方法可以使用矩阵运算来解决相同的目标。
另外,我运行 Linux,所以我假设我也可以轻松地使用 mclapply 或其他东西做某事,但每次我尝试时,我都设法挂起我的整个 R 会话。
还有一个包,tensor,但到目前为止我所尝试的一切都与我实际寻找的东西相去甚远,以至于我什至不确定我得到了什么。
我的线性代数不是最好的,但有件事告诉我应该有一些不错的选择而不使用 apply。
【问题讨论】:
标签: arrays r optimization linear-algebra apply