小编Ani*_*ban的帖子

获取R中矩阵列的加权和的最快方法

我需要矩阵每列的加权和.

data <- matrix(1:2e7,1e7,2) # warning large number, will eat up >100 megs of memory
weights <- 1:1e7/1e5
system.time(colSums(data*weights))
system.time(apply(data,2,function(x) sum(x*weights)))
all.equal(colSums(data*weights), apply(data,2,function(x) sum(x*weights)))
Run Code Online (Sandbox Code Playgroud)

通常colSums(data*weights)比应用调用更快.

我经常做这个操作(在一个大矩阵上).因此寻找有关最有效实施的建议.理想情况下,如果我们可以将权重传递给colSums(或rowSums),那就太棒了.

谢谢,感谢任何见解!

r sum weighted

7
推荐指数
1
解决办法
6852
查看次数

标签 统计

r ×1

sum ×1

weighted ×1