[问题] 清单里面加总问题?

楼主: eco100 ( )   2017-05-22 16:46:52
假设我一个list格式的资料长这样:
[[1]]
A C D
[1,] 0 1 0
[2,] 1 0 0
[3,] 0 2 1
[[2]]
A C D
[1,] 0 1 1
[2,] 1 0 0
[3,] 1 0 1
[[3]]
A C D
[1,] 0 1 0
[2,] 0 0 0
[3,] 0 0 1
我要的很简单,就是把清单里面,相同index的值加总起来,结果会如下:
A C D
[1,] 0 3 1
[2,] 2 0 0
[3,] 1 2 3
我做法也很简单,直接用for循环
result <- matrix(data = 0, nrow = 3, ncol = 3)
for(i in 1:3){
result <- result + data_list[[i]]
}
我想问的是,这个除了用循环,还有其他函数可以用吗?或许也需要搭配apply?
因为清单里面可能会有上百万或上千万笔的资料
不知道有比较效率的方式?谢谢!
作者: celestialgod (天)   2017-05-22 17:26:00
Reduce(function(x,y) x+y, list_of_matrix)
作者: andrew43 (讨厌有好心推文后删文者)   2017-05-22 17:31:00
用apply较麻烦,资料要先改成array
作者: rockken   2017-05-22 22:38:00
Reduce("+",data_list)
楼主: eco100 ( )   2017-05-23 10:14:00
感谢介绍Reduce!
作者: clsmbstu   2017-06-01 11:41:00
Reduce真好用!感谢!

Links booklink

Contact Us: admin [ a t ] ucptt.com