2016-10-14 90 views
-2

轉換日期這是我在這裏的第一篇文章,但我已經從你們所有人中受益匪淺。但是,我無法自己解決這個問題:
R - 從因子

我正在使用read.csv導入一組相當大的觀察值,包括它們的日期。在我的數據幀相應的日期欄(「數據$日期」)是一個整數向量,看起來像下面這樣:

head(data$date) 
[1] "26 Oct 15" "03 Nov 15" "10 Nov 15" "17 Nov 15" "19 Nov 15" "19 Nov 15" 
class(data$date) 
[1] "factor" 

當試圖將其轉換成一個「日期」對象,我用「作爲。日期()」函數:

tmp <- as.Date(data$date, format="%d %h %Y") 
head(tmp) 
[1] "0015-10-26" "0015-11-03" "0015-11-10" "0015-11-17" "0015-11-19" "0015-11-19" 

正如你所看到的,它得到的權之日起的孩子,但有兩個問題:
1)爲什麼當年提出的‘0015’,而不是「2015年「?
2)我假設函數以默認格式返回日期。但是,我想以不同的格式(即,初始格式)來使用的日期,我提到的功能

format() 

但是,此函數返回我不能爲我的分析使用角色對象。因此,有沒有其他方法可以在不改變對象的類的情況下更改日期格式?

感謝您的支持!
雅各布

+1

使用'%,而不是'%Y'和今年應該嘗試解決。 – aichao

+1

'tmp + 2000'? :)只是在開玩笑......我想這是因爲你指定了'%Y'而不是'%y'。 –

回答

1

你也許能夠以下

vec <- c("26 Oct 15", "03 Nov 15", "10 Nov 15", "17 Nov 15", "19 Nov 15", "19 Nov 15") 

tmp <- as.Date(vec, format="%d %h %y") 

這似乎解決它感謝y`的

+0

謝謝,那是做的工作。但是,我可以在不轉換格式的情況下更改格式: –

+0

謝謝,完成了這項工作。但是,我可以在不將日期轉換爲字符對象的情況下更改格式嗎? –

+0

似乎很'fac_vec < - as.factor(vec)tmp < - as.Date(fac_vec,format =「%d%h%y」)'它看起來不像它有區別 –