簡単な質問で申し訳ありませんが、このタイプの日付についてはヘルプが見つかりません。
2012 年 4 月 5 日は「20120405」という数値として保存されます
そのような値のベクトルを使用可能な日付に変換するにはどうすればよいですか?
必要なのは次のas.Date
関数だけです。
R> x = "20120405"
R> as.Date(x, "%Y%m%d")
[1] "2012-04-05"
ヘルプファイルを見てください:?as.Date
、しかし本質的に
%Y
2012の形式で年を意味し、に使用%y
し12
ます。%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"
このような、
(foo <- as.Date("20120405", "%Y%m%d"))
# "2012-04-05"
format
そして多分あなたは月を印刷したいと思うでしょう
format(foo, "%Y %b %d")
# "2012 Apr 05"
あなたはこのページを見ることができます
あなた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)
lubridate
次のパッケージを使用することもできます。
library(lubridate)
ymd("20120405")