私は、2016年12月1日であるべきなのに、残念ながら42705という数字形式で日付が記録されているcsvで作業しています。
Lubridateなどのパッケージを使って、Rで正しいフォーマットに変換したいのですが、どうすればいいですか?これを処理する関数はないでしょうか?
この変換には lubridate
を使用する必要はなく、基本関数 as.Date
がうまく処理します。Excelでは1899年12月30日です。
as.Date(42705, origin = "1899-12-30")
# [1] "2016-12-01"
もし、列の型を保持したい場合は、 readxl
パッケージの read_excel
関数を使用してみてください。この関数を使うと、数値の書式を保持したまま XLS や XLSX ファイルを読み込むことができます。
ここでは、ジャニトラとティブルパッケージを使った別の方法を紹介します。
install.packages("janitor")
install.packages("tibble")
library(tibble)
library(janitor)
excel_numeric_to_date(as.numeric(as.character(YourDate)), date_system = "modern")