2016-10-04 2 views
5

나는이 형식의 날짜의 많은 수 있습니다R에 분수 시간을 어떻게 추가 할 수 있습니까?

dt = as.POSIXct("2004-04-02 12:45:00 UTC") 

을 그리고 추가/항상 numbers.I이 lubridate 라이브러리를 사용하고 전체하지 않을 수 있습니다 숫자를 빼기해야합니다.

예 :

dt - days(2) 
[1] "2004-03-31 12:45:00 UTC" 

그러나,

dt - days(1.5) 
Error in validObject(.Object) : 
    invalid class “Period” object: periods must have integer values 

이 작업에 대한 대안이 있는가?

+0

좋은 질문입니다. R에만 lubridate 외에 다른 날짜/시간 함수가있는 경우. –

답변

7

오류는 부분 시간을 허용하지 않는 days(1.5)으로 발생합니다. 당신은 할 수 :

dt - days(1) - hours(12) 

또는

dt - 1.5*24*3600 

또는도 일할 수 있겠 대해 @DirkEddelbuettel 같은 사람들이 알고있는 기준일 기능은 아마이있다. 아, 그게 difftime입니다 (나는 머리 위로 떨어져있는 것들을 기억할만큼 충분한 날짜를 가지고 일하지 않습니다). @maximusdooku에 의해 지적
dt - as.difftime(1.5, units="days") 

그리고 : ddays 그냥 요청 기간 동안 (초), 플러스 몇 가지 클래스 정보를 반환과 같은 코드를 기반으로

dt - ddays(1.5) 

은 (, 그것은 보인다.)

+0

아주 잘 했어. –

+0

고마워. 나는 또한 ddays와 dminutes를 발견했다. dt - ddays (1.5) – maximusdooku

관련 문제