2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Rで連続する秒などのタイムスタンプのベクトルを作る

Last updated at Posted at 2022-04-26

0.連続する日付のベクトル

Rで連続する日付のベクトルを作るには以下の記事のようにseq()関数を使います。

R言語で連続する日付のベクトルを作る|Colorless Green Ideas

次の例では2021-12-29から2022-01-02の日付を生成しています。

連続日付.r
seq(as.POSIXlt("2021-12-29"), as.POSIXlt("2022-01-02"), by = "day")
[1] "2021-12-29 JST" "2021-12-30 JST" "2021-12-31 JST" "2022-01-01 JST"
[5] "2022-01-02 JST"

連続させる間隔を指定するbyには以下のような文字列が指定できます。(@WolfMoon さん、ご指摘ありがとうございます)

  • "sec"(秒)
  • "min"(分)
  • "hour"(時間)
  • "day" (日)
  • "DSTday"(日 サマータイム考慮)
  • "week" (週)
  • "month" (月)
  • "quarter" (四半期)
  • "year" (年)

この記事では、タイムスタンプの時分秒で連続したベクトルをつくりたいと思います。

1.連続する秒のベクトル

秒の場合は、開始と終了にタイムスタンプを与えてby="sec"またはby=1にします。by="senconds"は指定できませんでした。
以下の例では2021-12-31 23:59:57から2022-01-01 00:00:01までの1秒ごとに連続するタイムスタンプを生成しています。

連続秒.r
seq(as.POSIXlt("2021-12-31 23:59:57"),as.POSIXlt("2022-01-01 00:00:01"),by="sec")
[1] "2021-12-31 23:59:57 JST" "2021-12-31 23:59:58 JST"
[3] "2021-12-31 23:59:59 JST" "2022-01-01 00:00:00 JST"
[5] "2022-01-01 00:00:01 JST"

2.連続する分のベクトル

秒の場合は、開始と終了にタイムスタンプを与えてby="min"またはby=60にします。60秒ごとという意味になります。
以下の例では2021-12-31 23:57:00から2022-01-01 00:01:00までの1分ごとに連続するタイムスタンプを生成しています。

連続分.r
seq(as.POSIXlt("2021-12-31 23:57:00"),as.POSIXlt("2022-01-01 00:01:00"),by="min")
[1] "2021-12-31 23:57:00 JST" "2021-12-31 23:58:00 JST"
[3] "2021-12-31 23:59:00 JST" "2022-01-01 00:00:00 JST"
[5] "2022-01-01 00:01:00 JST"

3.連続する時間のベクトル

時間の場合は、開始と終了にタイムスタンプを与えてby="hour"またはby=60*60にします。60秒×60分=1時間ごとという意味になります。
以下の例では2021-12-31 21:00:00から2022-01-01 01:00:00までの1時間とに連続するタイムスタンプを生成しています。

連続時間.r
seq(as.POSIXlt("2021-12-31 21:00:00"),as.POSIXlt("2022-01-01 01:00:00"),by="hour")
[1] "2021-12-31 21:00:00 JST" "2021-12-31 22:00:00 JST"
[3] "2021-12-31 23:00:00 JST" "2022-01-01 00:00:00 JST"
[5] "2022-01-01 01:00:00 JST"

■参考

  • seq.POSIXt function - RDocumentation

  • time - Sequence with fractional second intervals in R - Stack Overflow

■テスト環境
R 4.0.5
Windows 10 64bit

2
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?