2016-10-04 14 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のみがlubrid以外の他の日付/時刻関数を持っていた場合 –

答えて

7

小数点以下の桁数を許可していないdays(1.5)でエラーが発生しています。あなたは何ができる:

dt - days(1) - hours(12) 

または

dt - 1.5*24*3600 

かもうまくいく@DirkEddelbuettelような連中はそれについて知っている基準日機能は、おそらくありますが。ああ、それはdifftimeです(私は頭の上からこれらの事を覚えておくのに十分な日付で働いていません)。

@maximusdookuで指摘したように
dt - as.difftime(1.5, units="days") 

そして、:

dt - ddays(1.5) 

は(コードに基づいて、それだけで要求された期間の秒数、プラスいくつかのクラス情報を返しddaysのように見えます。 )

+0

非常にうまく行って:) –

+0

ありがとうございます。私はまた、ddaysとdminutesを発見しました。 dt - ddays(1.5) – maximusdooku

関連する問題