YYYYMMDD形式のこれらの日付をDateクラスに変換したいと思います。
dates <- data.frame(Date = c("20130707", "20130706", "20130705", "20130704"))
私は試した:
dates <- as.Date(dates, "%Y%m%d")
そして、私は次のエラーを受け取ります:
Error in as.Date.default(dates, "%Y%m%d") :
do not know how to convert 'dates' to class "Date"
この形式を設定する正しい方法は何ですか?
data.frame
全体ではなく、Date
列を指定する必要があります。
R> as.Date(dates[["Date"]], "%Y%m%d")
[1] "2013-07-07" "2013-07-06" "2013-07-05" "2013-07-04"
クラシックR:
> start_numeric <- as.Date('20170215', format = '%Y%m%d');
> start_numeric
[1] "2017-02-15"
> format(start_numeric, "%Y%m%d")
[1] "20170215"
キャラクターへの追加の変換は私のために機能します:
dates<-as.Date(as.character(dates),format="%Y%m%d")
変換しないと、次のエラーが発生します。
dates<-as.Date(dates,format="%Y%m%d")
Error in as.Date.numeric(dates, format = "%Y%m%d") :
'Origin' must be supplied
別のエラーですが、これは役立つ可能性があり、POSIXctでも機能し、日付と時間を貼り付け、%Y%m%d%Hをフォーマットします
Lubridateパッケージを使用して簡単に変換できます。
date_test <- data.frame(Date = c("20130707", "20130706", "20130705", "20130704"))
date_test$Date <- ymd(date_test$Date)
date_test
Date
1 2013-07-07
2 2013-07-06
3 2013-07-05
4 2013-07-04