我正在使用csv,但不幸使用42705的數字格式記錄了日期時間,雖然它應該是01/12/2016。如何使用Lubridate將Excel日期格式轉換爲正確的日期
我想在R中使用Lubridate或其他包將其轉換爲正確的格式。有一個函數可以處理它嗎?
我正在使用csv,但不幸使用42705的數字格式記錄了日期時間,雖然它應該是01/12/2016。如何使用Lubridate將Excel日期格式轉換爲正確的日期
我想在R中使用Lubridate或其他包將其轉換爲正確的格式。有一個函數可以處理它嗎?
對此,您不需要使用lubridate
,基本功能as.Date
可以很好地處理這種類型的轉換。訣竅是,你必須提供原產地,這在Excel是12月30日1899年
as.Date(42705, origin = "1899-12-30")
# [1] "2016-12-01"
如果你想保留你的列類型,你可以嘗試使用read_excel
函數從readxl
包。這使您可以加載保留數字格式的XLS或XLSX文件。
謝謝你。我對R仍然很陌生。它工作得很好。 – elksie5000
非常歡迎。我現在正在編輯我的回覆,因爲我意識到原點稍微偏離了原點。給我一分鐘,然後在你的項目中使用這段代碼:-) –
其實我只是在Excel中鍵入01/12/2016並將其轉換爲數字。我得到的值是42381,而不是42705.在'as.Date'函數中使用42381可以讓您回到1/12/2016。你確定你是從Excel中正確複製的嗎? –
這裏是另一種方式來做到這一點使用看門人和tibble包:
install.packages("janitor")
install.packages("tibble")
library(tibble)
library(janitor)
excel_numeric_to_date(as.numeric(as.character(YourDate), date_system = "modern")
[這](http://stackoverflow.com/questions/19172632/converting-excel-datetime-serial-number-to -r-datetime)可能會啓動你。 – count
謝謝你這麼快回復。 – elksie5000