2017-04-26 15 views
1

können also sagen, ich habe einen VektorR: Berechnen des Mittelwerts für alle n Werte von einem Vektor

a <- rnorm(6000) 

ich den Mittelwert des ersten Wert zum 60. berechnen wollen, dann berechnen erneut den Mittelwert für die 61. Wert auf den 120. und so vierten. Also im Grunde möchte ich den Mittelwert für jeden 60. Wert berechnen, der mir 100 Mittel von diesem Vektor gibt. Ich weiß, dass ich eine For-Schleife machen kann, aber ich würde gerne wissen, ob es einen besseren Weg dafür gibt?

+0

Sie könnten froh sein, einen Blick auf [apply()] (https://www.datacamp.com/community/tutorials/r-tutorial-apply-family#gs.kcIGiwE) Funktion – Trolldejo

+0

gelten Funktion ist meist gut für Datenrahmen/Matrizen. Ich frage nach einem Vektor hier. – arezaie

Antwort

6

würde ich

colMeans(matrix(a, 60)) 

Oder effiziente ohne Matrix zu konvertieren:

.colMeans(a, 60, 100) 

Andere Lösungen mit split und lapply oder eine Lösung mit tapply wird nicht diskutiert.

+2

Das '.colMeans' ist neu für mich. Gute Wahl – akrun

Verwandte Themen