Use as.numérico para convertirlo en vector
rollmean(as.numeric(z$bar), 2)
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
?
Solución
Use as.numérico para convertirlo en vector
rollmean(as.numeric(z$bar), 2)