Como usar a função rollmean em apenas uma coluna de um objeto de zoológico?

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

  •  05-07-2022
  •  | 
  •  

Pergunta

Estou tentando usar o rollmean função em um objeto de zoológico que contém colunas não numéricas. Meu objetivo é adicionar uma nova coluna ao objeto existente.

Por que o seguinte código de teste não funciona?

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)

Eu recebo um erro "argumento não numérico para o operador binário". A função não deveria estar usando apenas a coluna da barra? Eu tenho que criar um objeto de zoológico separado para a coluna da barra, usar a função rolante e depois mesclar os resultados com z?

Foi útil?

Solução

Use como.numeric para convertê -lo em vetor

rollmean(as.numeric(z$bar), 2)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top