2016年2月26日金曜日

【R】8桁の数字を日付に変換

【方法】8桁の数字を文字に変換 → 日付に変換

#サンプルデータ作成
v.date <- c(20160101,20160102,20160103)
df.test <- data.frame(date = v.date)
df.test

> df.test
      date
1 20160101
2 20160102
3 20160103

このまま日付に変換すると

> df.test$date <- as.Date(df.test$date, "%Y%m%d") #文字に変換後、日付に変換
Error in charToDate(x) : 
   文字列は標準的な曖昧さのない書式にはなっていません 

となりエラーとなる。理由は、数字ではas.Dateできないため。

そこで、まず、①文字に変換して②日付に変換する。

#①文字に変換
df.test$date <- as.character(df.test$date) #数字ではas.Dateできないため文字に変換
#②日付に変換
df.test$date <- as.Date(df.test$date, "%Y%m%d") #文字に変換後、日付に変換

> df.test
        date
1 2016-01-01
2 2016-01-02
3 2016-01-03

となり日付に変換できます。

0 件のコメント :

コメントを投稿