看板 R_Language 關於我們 聯絡資訊
假設我一個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