[問題] 清單裡面加總問題?

看板R_Language作者 ( )時間8年前 (2017/05/22 16:46), 編輯推噓1(104)
留言5則, 5人參與, 最新討論串1/1
假設我一個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

05/22 17:26, , 1F
Reduce(function(x,y) x+y, list_of_matrix)
05/22 17:26, 1F

05/22 17:31, , 2F
用apply較麻煩,資料要先改成array
05/22 17:31, 2F

05/22 22:38, , 3F
Reduce("+",data_list)
05/22 22:38, 3F

05/23 10:14, , 4F
感謝介紹Reduce!
05/23 10:14, 4F

06/01 11:41, , 5F
Reduce真好用!感謝!
06/01 11:41, 5F
文章代碼(AID): #1P8gL-Io (R_Language)
文章代碼(AID): #1P8gL-Io (R_Language)