Come utilizzare la funzione rollmean su una sola colonna di un oggetto zoo?

StackOverflow https://stackoverflow.com/questions/19826737

  •  05-07-2022
  •  | 
  •  

Domanda

Sto cercando di usare il rollmean funzione su un oggetto zoo che contiene colonne non numeriche. Il mio obiettivo è quello di aggiungere una nuova colonna all'oggetto esistente.

Perché il seguente codice di prova non funziona?

library(zoo)
d <- data.frame(time=c(1, 2, 3), foo=c('a', 'b', 'c'), bar=c(32, 4, 1))
z <- zoo(d, order.by=d$time)
rollmean(z$bar, 2)

Ricevo un errore "argomento non numerico all'operatore binario". La funzione non dovrebbe essere utilizzata solo la colonna a barre? Devo creare un oggetto zoo separato per la colonna a barra, utilizzare la funzione di rotazione su di esso e quindi unire i risultati con z?

È stato utile?

Soluzione

Usa As.numeric per convertirlo in vettore

rollmean(as.numeric(z$bar), 2)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top