2016-07-29 5 views
0

내 XTS 목적은 다음과 같습니다 객체 : 삭제 항목은

      BID  OFR  PRICE 
    2015-01-01 13:15:00 1.48168 1.48285 0.3935712 
    2015-01-01 13:20:00 1.48013 1.48102 0.3924305 
    2015-01-01 13:25:00 1.47922 1.48012 0.3918190 
    2015-01-01 13:30:00 1.47947 1.47970 0.3917616 
    2015-01-01 13:35:00 1.48019 1.48046 0.3922617 
     . 
     . 
     . 
     . 

나는 EST에 시간대를 설정합니다. 금요일 17:05, 동부 표준시 (EST)에서 일요일 17:00, 부활절 표준시 (EST)까지 항목을 삭제하려면 어떻게해야합니까? 미리 감사드립니다.

답변

1

xts의 설명서를 ?.indexwday으로 탐색하십시오. 월요일, 화요일 2 등을 위해

is_fri <- .indexwday(dat) == 5 & (.indexhour(dat) >= 18 | .indexhour(dat) == 17 & .indexmin(dat) >= 5) 
is_sat <- .indexwday(dat) == 6 
is_sun <- .indexwday(dat) == 0 & .indexhour(dat) <= 16 

xts_data_you_want <- dat[!(is_fri | is_sat | is_sun)] 

.indexwday 수익률 1 :

당신은이 작업을 수행 할 수 는

, dat 가정, 당신이 당신의 지정 (외환) 거래 시간에 원하는 데이터를 얻을하면 xts 시계열을 포함 , xts 오브젝트의 시간 소인에 대해 설명하고 자하는 설명 값은 .indexmin, .indexhour에 대해 리턴됩니다.

수표로 weekdays(index(dat))을 사용하면 .indexwday이 특정 타임 스탬프에 대해 예상 한 것을 반환하고 있음을 확인할 수 있습니다.

+0

'.indexwday (dat)'에 따르면 일요일은'== 0'과 같습니다. is_sun <- .indexwday (dat) == 0 & .indexhour (dat) <= 16'으로'is_sun <- .indexwday (dat) == 7 & .indexhour (dat) <= 16'을 전환해야합니다. 코드를 실행하기 전에'Sys.setenv (TZ = "EST")'를 실행하는 것이 필수적입니다.이 시리즈는이 시간대에서 실현됩니다. – Greconomist