2013-04-30 1 views
1

xts에서 초 세컨드 시리즈를 그릴 때 "TRUE/FALSE가 필요한 곳에"("# ="년 = "에서"# 17) 값이 누락되었습니다. "오류가 발생합니다. 이 오류에 대한xts (sub-second 계열)에 단 두 번째 마침표를 그릴 수 있습니까?

      value 
2013-04-23 13:09:29.0000 471295 
2013-04-23 13:09:29.0000 471296 
2013-04-23 13:09:29.0002 471297 
2013-04-23 13:09:29.0002 471298 
2013-04-23 13:09:29.0004 471299 
2013-04-23 13:09:29.0004 471300 
2013-04-23 13:09:29.0006 471295 

비슷한 질문은 이미 in this thread을 요청했지만 하위 두 번째 시리즈를 그릴 수있는 해결 방법이 있다면 나는 분명히 아니에요 : 그건 내 XTS는이 같은 초 동안 관측을 포함 개체입니다.

답변

3
R> zzz <- xts(100+cumsum(rnorm(10)), Sys.time() + cumsum(runif(10))/1e3) 
R> zzz 
           [,1] 
2013-04-30 10:15:15.588007 98.9827 
2013-04-30 10:15:15.588615 100.0029 
2013-04-30 10:15:15.589559 100.6558 
2013-04-30 10:15:15.590063 98.7353 
2013-04-30 10:15:15.590466 100.0204 
2013-04-30 10:15:15.590787 100.5416 
2013-04-30 10:15:15.591345 100.5990 
2013-04-30 10:15:15.591624 100.7908 
2013-04-30 10:15:15.592415 101.8566 
2013-04-30 10:15:15.592915 102.4576 
R> plot(zzz) 
Error in if (on == "years") { : missing value where TRUE/FALSE needed 
R> traceback() 
4: endpoints(x, cl, ck) 
3: axTicksByTime(x, major.ticks, format.labels = major.format) 
2: plot.xts(zzz) 
1: plot(zzz) 
R> 

그래서 오류는 축 형식으로 인해 발생합니다. 당신은이 메소드를 오버라이드 (override) 할 수 있습니다, 그려 질 이제 축 요청하여 억제 또는 당신의 시리즈 어쨌든 단 변량 같이 잘 작동

R> plot(as.zoo(zzz)) 

을한다.

1

이것은 기본적으로 this post에서와 같은 문제입니다. 해결책은, 모두 좋은 답변을 major.ticks

> set.seed(1) 
> zzz <- xts(100+cumsum(rnorm(10)), .POSIXct(0) + cumsum(runif(10))/1e3) 
> plot(zzz, major.ticks="seconds") 

enter image description here

+0

감사를 지정하는 것입니다. –

+0

실제로'plot.xts'보다는'plot.zoo' waaaay를 사용합니다. [xtsExtra] (https://r-forge.r-project.org/R/?group_id=118) 패키지의'plot.xts'는 정말 멋지지만'plot.zoo'보다 덜 개발/불안정합니다. . – GSee