¿Cómo usar la función RollMean en una sola columna de un objeto Zoo?

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

  •  05-07-2022
  •  | 
  •  

Pregunta

Estoy tratando de usar el rollmean función en un objeto zoológico que contiene columnas no numéricas. Mi objetivo es agregar una nueva columna al objeto existente.

¿Por qué no funciona el siguiente código de prueba?

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)

Recibo un error de "argumento no numérico al operador binario". ¿No debería la función solo usar la columna de barra? ¿Tengo que crear un objeto Zoo separado para la columna de la barra, usar la función de rodadura y luego fusionar los resultados con z?

¿Fue útil?

Solución

Use as.numérico para convertirlo en vector

rollmean(as.numeric(z$bar), 2)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top