2010-11-05 37 views
38

我試圖找到一個函數來將一個整數轉換爲一個字符串,所以我可以在啓動Date對象時使用它。R中的整數到字符串轉換

> v = c(20081101) 
> date <- as.Date(v, format("%Y%m%d")) 

錯誤charToDate(X):字符串是不是標準 明確的格式

我找到了解決方案與paste(),但我想知道什麼是正確的方法做轉換。

> date <- as.Date(paste(v), format("%Y%m%d")) 
> date 
[1] "2008-11-01" 

回答

42

as.character()將是通用的方法,而不是使用paste()其副作用

> v <- 20081101 
> date <- as.Date(as.character(v), format = "%Y%m%d") 
> date 
[1] "2008-11-01" 

(我想這是一個簡單的例子,這樣的事情:

v <- "20081101"

是不可能的?)

+1

@DavidArenburg我想我有一個錯字,因爲我從來不,不是一次,使用'as.Date'我上面顯示的方式。 – 2015-11-18 18:02:19

14

另一種方式來獲得相同的結果:

date <- strptime(v,format="%Y%m%d") 
+3

有趣。我沒有意識到'strptime'會自動強制/處理數值... – 2012-06-08 07:04:08