2017-04-03 37 views
-2

我已经上传了Excel中有一列日期的CSV。将Excel转换为R的麻烦日期

首先这些日期的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" 

任何想法,为什么它不能正常转换,我应该怎么办呢?

+1

只需添加''%d /%m /%Y''(您的日期格式):'as.Date(日期,“%d /%m /%Y”)' – bVa

+0

或'lubridate'包:'lubridate :: dmy(日期)' –

回答

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")