3

動物園シリーズのインデックスのすべての要素に 1 時間を追加するにはどうすればよいですか?

私はもう試した

newseries <- myzooseries 
index(newseries) <- index(myzooseries)+times("1:00:00") 

しかし、私はメッセージを受け取ります

Incompatible methods   ("Ops.dates", "Ops.times") for "+" 

ありがとう

私のインデックスは日付と時刻の chron オブジェクトですが、より簡単な例で試してみましたが、取得できません

4

2 に答える 2

4

これは、必要な時間を数値的に追加することで簡単に解決できます。

newseries <- myzooseries 
index(newseries) <- index(myzooseries) + 1/24

chron オブジェクトは 10 進数で表されるため、それを使用して計算できます。1 日は 1 なので、1 時間は 1/24、1 分は 1/1440 などです。関数 times を使用すると、これを簡単に確認できます。これにより、テストされたオブジェクトの時間が表示されます。たとえば、次のようになります。

> A <- chron(c("01/01/97","01/02/97","01/03/97"))

> B <- A + 1/24

> B
[1] (01/01/97 01:00:00) (01/02/97 01:00:00) (01/03/97 01:00:00)

> times(A)
Time in days:
[1] 9862 9863 9864

> times(B)
Time in days:
[1] 9862.042 9863.042 9864.042


> times(B-A)
[1] 01:00:00 01:00:00 01:00:00

> times(A[3]-B[1])
Time in days:
[1] 1.958333
于 2010-08-31T14:13:47.953 に答える
0

に変換しPOSIXct、60*60 (1h in s) を追加してから元に戻します。

于 2010-08-31T14:13:23.363 に答える