2015-10-12 49 views
0

我有一個龐大的數據集,我正在使用。有些月份的格式爲01/01/2010,其他月份爲1/1/2010as.Date函數不工作

當我運行as.Date(Dates, format="%y/%d/%m")後面的所有日期都會將年份更改爲2020年。這裏發生了什麼?

+3

你可能想'格式= 「%d /%M /%Y」'? – Helix123

回答

4

您的格式聲明不正確。試試這個:

d1 <- "01/01/2010" 
d2 <- "1/1/2010" 
> as.Date(d1, format='%d/%m/%Y') 
#[1] "2010-01-01" 
> as.Date(d2, format='%d/%m/%Y') 
#[1] "2010-01-01" 

對於不同格式的一年中日期的lubridate包可用於:

library(lubridate) 
d1 <- "1/1/10" 
d2 <- "01/01/2010" 
parse_date_time(d1, "dmy") 
#[1] "2010-01-01 UTC" 
parse_date_time(d2, "dmy") 
#[1] "2010-01-01 UTC" 
+0

我剛剛嘗試過,現在爲01/01/10日期我得到0010-01-01但2010年1月1日日期工作正常。 – Elle

+1

@Elle然後,你有你在原始問題中沒有提及的東西:日期格式不同。他們都將需要以相同的格式爲你做任何事情。 – joran

+0

所以我有超過40萬行的數據,我必須通過每一個來改變它們?我在R上無法做到這一點? – Elle