Verwenden Sie AS.Numeric, um es in Vektor umzuwandeln
rollmean(as.numeric(z$bar), 2)
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
?
Lösung
Verwenden Sie AS.Numeric, um es in Vektor umzuwandeln
rollmean(as.numeric(z$bar), 2)