【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

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

コメント

このブログの人気の投稿

R 外部結合(left join, right join)

【R】k-meansで統計的に適切なクラスタ数を選択する(Gap統計量:clusGap)

R:複数列のユニーク数をカウントする(重複除去してカウント)