对r中对象内部的矩阵求和

对r中对象内部的矩阵求和,r,matrix,lapply,R,Matrix,Lapply,我有一个物品清单。每个对象都有一个矩阵。我想对所有对象执行矩阵求和。目前,我通过组合“Reduce”和“lappy”来实现,其中lappy使用一个函数从每个对象提取矩阵 有没有更有效的方法来实现这一点 虚拟示例: mat_1 = matrix(data = c(rep(0.01,4),rep(0.29,4)), nrow = 4, ncol = 2) mat_2 = matrix(data = c(rep(0.1,4),rep(0.2,4)), nrow = 4, ncol = 2) obj

我有一个物品清单。每个对象都有一个矩阵。我想对所有对象执行矩阵求和。目前,我通过组合“Reduce”和“lappy”来实现,其中lappy使用一个函数从每个对象提取矩阵

有没有更有效的方法来实现这一点

虚拟示例:

mat_1 = matrix(data = c(rep(0.01,4),rep(0.29,4)), nrow = 4, ncol = 2)

mat_2 = matrix(data = c(rep(0.1,4),rep(0.2,4)), nrow = 4, ncol = 2)

obj_1 = list(name = "obj1", my_mat = mat_1) class(obj_1) = "my_obj"

obj_2 = list(name = "obj2", my_mat = mat_2) class(obj_2) = "my_obj"

list_of_my_objs = list(obj_1,obj_2)


get_mat_from_obj = function(my_obj) {   
    return(my_obj$my_mat) 
}

Reduce('+', lapply(list_of_my_objs,get_mat_from_obj))

您可以避免使用带有
Reduce(+',lappy(列出我的对象,[[',我的mat'))的自定义函数。
thank You Reno!这肯定更优雅!这也是最快的解决方案吗?