Eventuali duplicati:
Can `ddply` (or similar) do a sliding window?C'è una funzione come rollapply per data.frame
C'è una funzione simile rollapply (standard R o all'interno di un pacchetto CRAN), che opera su un data.frame, ma non lo converte in una matrice. rollapply può essere usato con un data.frame, ma se data.frame ha tipi misti allora ogni finestra di dati viene convertita in un carattere (matrice).
preferisco una funzione che supporta la larghezza, na.pad, allineare, ecc proprio come rollapply
Esempio
prendere qualsiasi data.frame con mixed-tipi
test = data.frame(Name = c("bob" , "jane" , "joe") , Points = c(4 , 9 , 1))
Diciamo che si desidera eseguire il rollover con la dimensione della finestra 2. La prima iterazione di FUN viene chiamata con un data.frame che include solo le righe 1 e 2 del test.
Così RollapplyThatRespectsDataFrame(... , FUN = function(x) { ... })
sulla prima iterazione fisserebbe x = data.frame(Name = c("bob" , "jane") , Points = c(4 , 9))
La seconda iterazione è un data.frame con righe 2 e 3 del test
.
Fondamentalmente questa nuova funzione fa la stessa cosa di rollapply, tranne che funziona correttamente con data.frames. Non converte in matrice.
Questo [è venuto prima] (http: // sta ckoverflow.com/q/7225992/324364) ma non penso che abbia mai avuto una risposta soddisfacente. – joran
potrebbe dover scrivere il mio =) – SFun28
Se lo fai, si prega di condividere! – joran