5

簡単な質問で申し訳ありませんが、このタイプの日付についてはヘルプが見つかりません。

2012 年 4 月 5 日は「20120405」という数値として保存されます

そのような値のベクトルを使用可能な日付に変換するにはどうすればよいですか?

4

4 に答える 4

5

必要なのは次のas.Date関数だけです。

R> x = "20120405"
R> as.Date(x, "%Y%m%d")
[1] "2012-04-05"

ヘルプファイルを見てください:?as.Date、しかし本質的に

  • %Y2012の形式で年を意味し、に使用%y12ます。
  • %m月です。
  • %d当日。

日付に区切り文字が含まれている場合、たとえば2012-04-05の場合は、次のように使用します%Y-%m-%d。または、次を使用することもできます。

R> strptime(x, "%Y%m%d")
[1] "2012-04-05"

特に、これらの関数に日付のベクトルを渡すことができるので、次のようになります。

R> y = c("20120405", "20121212")
R> as.Date(y, "%Y%m%d")
[1] "2012-04-05" "2012-12-12"
于 2012-04-05T08:36:01.137 に答える
5

このような、

(foo <- as.Date("20120405", "%Y%m%d"))
# "2012-04-05"

formatそして多分あなたは月を印刷したいと思うでしょう

format(foo, "%Y %b %d")
# "2012 Apr 05"

あなたはこのページを見ることができます

于 2012-04-05T08:36:29.717 に答える
3

あなたstrptimeはそれをPOSIXltクラスに変換するas.Dateことができ、あなたはそれDateをフォーマットを使ってクラスに変換することができます"%Y%m%d"

strptime( "20120405",format="%Y%m%d")
[1] "2012-04-05"

as.Date( "20120405",format="%Y%m%d")
[1] "2012-04-05"

編集:

"20120405"あなたが文字または数字を持っているかどうかは本当に明確ではありません20120405。後者の場合、最初に文字に変換する必要がありますas.character(20120405)

于 2012-04-05T08:36:31.427 に答える
2

lubridate次のパッケージを使用することもできます。

library(lubridate)  
ymd("20120405")
于 2012-04-05T09:13:54.850 に答える