作者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://www.ptt.cc/bbs/R_Language/M.1495442814.A.4B2.html
→ celestialgod: Reduce(function(x,y) x+y, list_of_matrix) 05/22 17:26
→ andrew43: 用apply較麻煩,資料要先改成array 05/22 17:31
→ rockken: Reduce("+",data_list) 05/22 22:38
→ eco100: 感謝介紹Reduce! 05/23 10:14
推 clsmbstu: Reduce真好用!感謝! 06/01 11:41