Rで年、月、日、日付を変換する方法は?
文字列を介してこれを行うことができることは知っていますが、パフォーマンスが低下する可能性があるため、文字列への変換は避けたいと思います。 」と、「年-日-月」を使用するものもあります。
ISODate は年、月、日 -> DateTime の方向を提供しているように見えますが、最初に数値を文字列に変換するため、文字列を経由しない方法がある場合は優先します。
日時から数値まで、逆のことは何も見つかりませんでしたか? strsplit などを使用する必要はありません。
編集:明確にするために、私が持っているのは、次のようなデータフレームです:
year month day hour somevalue
2004 1 1 1 1515353
2004 1 1 2 3513535
....
この形式に自由に変換できるようにしたい:
time(hour units) somevalue
1 1515353
2 3513535
....
...そしてまた戻ることができます。
編集:「時間」(時間単位)が何を意味するのかについての混乱を解消するために、最終的に私がしたことは、Rで2つの日付の違いを時間で見つける方法からの情報を使用して? :
前方方向:
lh$time <- as.numeric( difftime(ISOdate(lh$year,lh$month,lh$day,lh$hour), ISOdate(2004,1,1,0), units="hours"))
lh$year <- NULL; lh$month <- NULL; lh$day <- NULL; lh$hour <- NULL
逆方向:
...まあ、私はまだ後方に行っていませんが、次のようなものを想像しています:
- lh$time から difftime オブジェクトを作成します (どういうわけか...)
- ISOdate(2004,1,1,0) を difftime オブジェクトに追加します
- 以下の解決策のいずれかを使用して、年、月、日、時間を元に戻します
将来的には、解決しようとしている問題を正確に尋ねることができると思いますが、特定の問題を一般的な再利用可能な質問に因数分解しようとしていましたが、それは間違いでしたか?