注目の投稿

【kepler.gl】コロナ対策による人流の変化も地図上に可視化(各種メディアで報道)

kepler.glのサイト画面 kepler.glを使ってコロナ対策の効果を分析したところ、テレビ、新聞、ネットのメディアから問い合わせや報道依頼が殺到。今も、土日返上で都内や全国の人流変化を分析しています。この記事では人流変化の可視化に便利なkepler.glにつ...

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

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