Jak sumować elementy listy numerycznej?

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

Twoja odpowiedź

Zaloguj się aby odpowiedzieć.

Operiada

Operiada to polskojęzyczne forum informatyczne działające na zasadzie pytań i odpowiedzi.

Obserwowane tagi

Zaloguj się aby obserwować tagi.