web-dev-qa-db-ja.com

Lubridateを使用してExcelの日付形式を適切な日付に変換する方法

私は残念ながら42705の数値形式を使用して日付時刻を記録したcsvを使用していますが、2016年12月1日であるはずです。

Lubridateまたは他のパッケージを使用して、Rで適切な形式に変換したいと思います。それを処理する関数はありますか?

33
elksie5000

このためにlubridateを使用する必要はありません。ベース関数as.Dateはこのタイプの変換をうまく処理します。秘Theは、Excelで1899年12月30日であるOriginを提供する必要があることです。

as.Date(42705, Origin = "1899-12-30")
# [1] "2016-12-01"

列タイプを保持したい場合は、readxlパッケージのread_Excel関数を使用してみてください。これにより、数値の書式設定を保持したままXLSまたはXLSXファイルをロードできます。

56
Andrew Brēza

Janitorおよびtibbleパッケージを使用してそれを行う別の方法を次に示します。

install.packages("janitor")
install.packages("tibble")

library(tibble)
library(janitor)

Excel_numeric_to_date(as.numeric(as.character(YourDate)), date_system = "modern")    
10
Reza Rahimi