【问题标题】:How to deal with complex date format when importing dataframe from an excel file R从excel文件R导入数据框时如何处理复杂的日期格式
【发布时间】:2021-12-28 16:56:28
【问题描述】:

我有从 excel 文件导入的以下列。

dates <- structure(list(ServiceDate = c("44433", "44497", "44400", "44513", 
"44501", "44398", "44501", "44496", "44432", "44513", "44389", 
"44513", "44515", "44513", "44515", "NULL", "44501", "44432", 
"44512", "44470")), row.names = c(NA, -20L), class = c("tbl_df", 
"tbl", "data.frame"))

但是当我尝试进行一些更传统的日期转换时,我无法使格式正确。

anydate(date$ServiceDate)
 [1] "4443-01-01" "4449-01-01" "4440-01-01" "4451-01-01" "4450-01-01" "4439-01-01" "4450-01-01" "4449-01-01" "4443-01-01" "4451-01-01" "4438-01-01"
[12] "4451-01-01" "4451-01-01" "4451-01-01" "4451-01-01" NA           "4450-01-01" "4443-01-01" "4451-01-01" "4447-01-01"

我知道我可以更改实际文件中的格式,但是有很多这样的文件,我需要在代码中提供解决方案。

这是我想要的输出

【问题讨论】:

标签: r date dplyr lubridate


【解决方案1】:

由于是excel日期,转换为数字,并使用as_dateorigin

library(lubridate)
as_date(as.numeric(dates$ServiceDate), origin = '1899-12-30')

或者另一种方式是

openxlsx::convertToDate(dates$ServiceDate)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-24
    • 2015-05-30
    • 1970-01-01
    • 2016-08-17
    • 2013-12-24
    • 2018-07-17
    • 1970-01-01
    • 2022-06-11
    相关资源
    最近更新 更多