作者eco100 ( )
看板R_Language
标题[问题] 清单里面加总问题?
时间Mon May 22 16:46:52 2017
假设我一个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?
因为清单里面可能会有上百万或上千万笔的资料
不知道有比较效率的方式?谢谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.109.32.9
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1495442814.A.4B2.html
1F:→ celestialgod: Reduce(function(x,y) x+y, list_of_matrix) 05/22 17:26
2F:→ andrew43: 用apply较麻烦,资料要先改成array 05/22 17:31
3F:→ rockken: Reduce("+",data_list) 05/22 22:38
4F:→ eco100: 感谢介绍Reduce! 05/23 10:14
5F:推 clsmbstu: Reduce真好用!感谢! 06/01 11:41