суммирующие матрицы, которые находятся внутри объектов в r - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть список объектов. У каждого объекта есть матрица. Я хотел бы выполнить матричное суммирование по всем объектам. В настоящее время я делаю это, комбинируя «Reduce» и «lapply», где lapply берет функцию, которая извлекает матрицу из каждого объекта.

Есть ли более эффективный способ реализовать это?

Пустой пример:

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))
...