我已从Excel上传了一张CSV,其中包含一列日期。
这些日期的前5个如下:
dates <- c("25/09/2016","25/09/2016","25/09/2016","25/09/2016","25/09/2016", "25/09/2016")
当我使用以下代码时:
as.Date(dates)
结果是
"0025-09-20" "0025-09-20" "0025-09-20" "0025-09-20" "0025-09-20" "0025-09-20"
我尝试将原点设置为Excel的原始日期:
as.Date(dates, origin = "1899-12-30")
但结果仍然相同
"0025-09-20" "0025-09-20" "0025-09-20" "0025-09-20" "0025-09-20" "0025-09-20"
为什么它没有正确转换以及我应该做什么的任何想法?
答案 0 :(得分:0)
使用excel时,您需要非常小心存储日期的格式。
如果您的日期采用字符格式,则需要使用as.Date(dates, format = "%d/%m/%Y")
。这适用于DD / MM / YYYY格式的角色日期。
对于excel日期的其他格式,您需要按照that link中的规范调整格式。
如果您的日期采用数字格式,则需要对Windows Excel使用as.Date(dates, origin = "1899-12-30")
,对mac excel使用as.Date(dates, origin = "1904-01-01")
。