rollmean mit dplyr und magrittr

Folgende Daten angegeben:

    set.seed(1)
    data <- data.frame(o=c('a','a','a','a','b','b','b','b','c','c','c','c'), t=c(1,2,3,4,1,2,3,4,1,2,3,4), u=runif(12), v=runif(12))
    data
       o t          u         v
    1  a 1 0.26550866 0.6870228
    2  a 2 0.37212390 0.3841037
    3  a 3 0.57285336 0.7698414
    4  a 4 0.90820779 0.4976992
    5  b 1 0.20168193 0.7176185
    6  b 2 0.89838968 0.9919061
    7  b 3 0.94467527 0.3800352
    8  b 4 0.66079779 0.7774452
    9  c 1 0.62911404 0.9347052
    10 c 2 0.06178627 0.2121425
    11 c 3 0.20597457 0.6516738
    12 c 4 0.17655675 0.1255551

Ich möchte den gleitenden Mittelwert (Paket zoo) von u pro Gruppe berechnen, der durch die Spalte o definiert wird. Die Reihenfolge für den rollierenden Mittelwert wird durch t festgelegt. Der fortlaufende Mittelwert sollte als neue Spalte zum data.frame hinzugefügt werden.

Ich möchte Magrittr und Dplyr verwenden. Ich habe es versuch

    data %>%
      group_by(o) %>%
      sort(t) %>%
      select(u) %>%
      rollmean(3) %>%
      rbind

Aber das wird nicht funktionieren. Kann ich es mit magrittr und dplyr machen oder muss ich es Schritt für Schritt machen? Die Werte von o und t sind in meinen realen Daten variabel.

Wie fülle ich die ersten beiden Zeilen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage