2013-07-04 17 views
5

Próbuję rozszerzyć oś X mojego szeregu czasowego, aby przygotować się do dodania nowych danych do fabuły później. Jednak niezależnie od tego, co próbuję, pojawia się błąd w funkcji plot.window (...): nieprawidłowy błąd "xlim".R ustawienie xlim w działce xts

Oto minimalny fragment kodu:

konstrukcja Dane:

time_series <- xts(rnorm(100),seq(as.POSIXct("2012-01-01 00:00:00"), as.POSIXct("2012-01-05 03:00:00"), by="hour")) 

wydrukiem:

plot(time_series, type='l'); 

W rezultacie, zgodnie z oczekiwaniami, miła seria czas wydruku.

Teraz chciałem poszerzyć oś x, a ja próbowałem:

xlim <- seq(as.POSIXct("2012-01-01 00:00:00"), as.POSIXct("2012-01-06 03:00:00"), by="hour") 
plot <- (time_series, xlim = xlim, type='l') 

ale to nie działa, ale powoduje błąd w plot.window (...): nieprawidłową wartość „” xlim.

Próbując następujące wyniki w ten sam błąd:

xlim <- c(as.POSIXct("2012-01-01 00:00:00"), as.POSIXct("2012-01-05 00:00:00")) 

z dokumentacji wiem, że xlim musi być liczbą i może być ustawiony jak xlim = C (0100), ale w jaki sposób to działa podczas korzystania XTS dane?

Edytuj: Wiem, że to pytanie jest podobne do pytania Time series plot range. Jednak, ponieważ nie znam danych, które należy wykreślić w przyszłości, interesuje mnie to konkretne rozwiązanie.

+2

Nie jestem zaznajomiony z 'plot.xts', ale' xlim' w podstawowej grafice jest zwykle wektorem z dokładnie dwiema wartościami (min i max), a nie sekwencją. – Roland

+0

Powinienem wspomnieć, że również wypróbowałem wektor, w tym mix max POSIXct wartości. Przepraszam, dodam to do mojego pytania. – user1356695

+0

Ogólnie proponuję użyć 'plot.zoo' lub' xtsExtra :: plot.xts' – GSee

Odpowiedz

5

Jak to:

plot(time_series, type='l', 
    xlim=as.POSIXct(c("2012-01-01 00:00:00","2012-01-06 03:00:00"))) 
+0

OK, zdecydowanie działa. Nie jestem pewien, dlaczego byłem przekonany, że tak nie będzie - przepraszam. Niestety wydaje się, że w fabule brakuje tej etykiety osi, ale jest to coś, z czym mogę żyć. – user1356695

0

Albo zrobić podzbiór w XTS przed: df2.xts < -df.xts [ "2012-01-01/2012-02-01"], a następnie działka (df2.xts).

Powiązane problemy