web-dev-qa-db-ja.com

秒を日付に変換するR潤滑剤

Rの潤滑剤パッケージについて簡単な質問があります。エポック以来、秒単位の一連のタイムスタンプがあります。これをYYYY-MM-DD-HH形式に変換したい。ベースRでは、最初に日付形式に変換するためにこのようなことを行うことができます

> x = as.POSIXct(1356129107,Origin = "1970-01-01",tz = "GMT")
> x
[1] "2012-12-21 22:31:47 GMT"

上記は、YYYY-MM-DD-HH形式ではなく、日付形式に変換するだけであることに注意してください。潤滑剤でこれをどのように行うのですか?ベースRを使用してどうすればよいですか?

よろしくお願いします

19
broccoli

ダークは正しいです。ただし、潤滑機能を使用する場合は、次のようにします。

paste( year(dt), month(dt), mday(dt), hour(dt) sep="-")

一方、POSIXctオブジェクトを本来の使用方法で処理したい場合は、次の条件を満たす必要があります。

format(x, format="%Y-%m-%d-%H")
12
42-

lubridateにはas_datetime()があり、これはたまたまUNIXエポック時間をデフォルトとして持っていますOriginこれを本当に簡単にする時間:

> as_datetime(1356129107)
[1] "2012-12-21 22:31:47 UTC"

詳細については、こちらをご覧ください: https://rdrr.io/cran/lubridate/man/as_date.html

11
leerssej