いくつかの気象変数の時系列データセットがあります。時間データは、次の 3 つの列に記録されます。
- 年 (例: 2012)
- 年間通算日 (例: うるう年の 9 月 17 日を表す 261)
- 時:分 (例: 1610)
3 つの列をマージして R で単一のタイムスタンプを作成する方法はありますか? R が Day of Year 変数をどのように処理するかについてはよくわかりません。
これについて助けてくれてありがとう!
いくつかの気象変数の時系列データセットがあります。時間データは、次の 3 つの列に記録されます。
3 つの列をマージして R で単一のタイムスタンプを作成する方法はありますか? R が Day of Year 変数をどのように処理するかについてはよくわかりません。
これについて助けてくれてありがとう!
を使用してかなり遠くまで行く必要がありますISOdatetime
。この関数は、、、、のベクトルをyear
入力として受け取りday
、時間を表すオブジェクトを出力します。3番目の列を2つの別々の列に分割するだけで、関数を使用できます。hour
minute
POSIXct
hour
minute
timeDate
パッケージはグレゴリオ暦の時間枠を処理できるようです。私は個人的にそれを使用していませんが、それは簡単に見えます。shift
一部のメソッドには、データからのオフセットを設定できる引数があります。
http://cran.r-project.org/web/packages/timeDate/timeDate.pdf
あなたがそれを言及したので、別々の列をマージする実際のコードを示すと思いました。必要な値が別々の列にある場合は、paste
それらをまとめlubridate::mdy
て解析するために使用できます。
library(lubridate)
col.month <- "Jan"
col.year <- "2012"
col.day <- "23"
date <- mdy(paste(col.month, col.day, col.year, sep = "-"))
Lubridate は素晴らしいパッケージです。公式ページは次のとおりです: https://github.com/hadley/lubridate
そして、ここに素晴らしい例のセットがあります: http://www.r-statistics.com/2012/03/do-more-with-dates-and-times-in-r-with-lubridate-1-1-0 /