gpt4 book ai didi

r - 如何使 apply() 函数更快?

转载 作者:行者123 更新时间:2023-12-04 10:28:19 25 4
gpt4 key购买 nike

我有两个矩阵。我想使用第一个的列来过滤第二个,然后找到过滤集的总和。我使用了以下代码,它工作得很好。

apply(firstMat,2,function(x) sum(secondMat[x,x]))

但是,数据集很大,我想找到一种替代方法来加快处理速度。

这是小规模的可重现示例:

firstMat<-matrix(c(T,F,T,F,F,T,T,F,F,F),nrow=5,ncol=2)
secondMat<-matrix(c(1,0,0,0,1,0,0,0,1,1,1,0,1,0,1,1,1,0,0,0,1,1,1,0,1),nrow=5,ncol=5)

如果你能在这方面帮助我,我将非常感激。

最佳答案

也许您的 BLAS 比显式循环更快:

diag( t(firstMat) %*% secondMat %*% firstMat )

关于r - 如何使 apply() 函数更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41212152/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com