Zastanawiam się nad sposobem pozwalającym sumować wartości liczbowe listy (lub obliczać średnią). np.
x <- list( a = matrix(c(1,2,3,4), nc=2), b = matrix(1, nc=2, nr=2))
chcę dostać:
x[[1]]+x[[2]]
lub średnia:
(x[[1]]+x[[2]])/2
1 odpowiedź
Możesz użyć opcji Reduce
, aby sukcesywnie zastosować funkcję binarną do elementów na liście.
Reduce("+",x)
[,1] [,2]
[1,] 2 4
[2,] 3 5
Reduce("+",x)/length(x)
[,1] [,2]
[1,] 1.0 2.0
[2,] 1.5 2.5