Wie benutze ich die Rollmean -Funktion nur auf einer Spalte eines Zooobjekts?

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

  •  05-07-2022
  •  | 
  •  

Frage

Ich versuche das zu benutzen rollmean Funktion auf einem Zooobjekt, das nicht numerische Spalten enthält. Mein Ziel ist es, dem vorhandenen Objekt eine neue Spalte hinzuzufügen.

Warum funktioniert der folgende Testcode nicht?

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)

Ich bekomme ein "nicht numerisches Argument für den Binäroperator" -Fehler. Sollte die Funktion nicht nur die Balkenspalte verwenden? Muss ich ein separates Zooobjekt für die Balkenspalte erstellen, verwenden Sie die Rolling -Funktion und fusionieren Sie dann die Ergebnisse mit z?

War es hilfreich?

Lösung

Verwenden Sie AS.Numeric, um es in Vektor umzuwandeln

rollmean(as.numeric(z$bar), 2)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top