2017-11-18 165 views
1

我有一些數據,看起來像這樣:轉換爲日期和剝離時間?

dates <- structure(c(1L, 2L, 4L, 3L), .Label = c("Sat, 18 Nov 2017 00:00:00 GMT", 
              "Thu, 16 Nov 2017 00:00:00 GMT", "Tue, 14 Nov 2017 00:00:00 GMT", 
              "Wed, 15 Nov 2017 00:00:00 GMT"), class = "factor") 

我想將其轉換爲日期格式,而不是它的一個因素。此外,我想剝離00:00:00 GMT,因爲它是沒有意義的

我試圖lubridate但我有與格式的煩惱:

library(lubridate) 
mdy(dates) 
Warning message: 
All formats failed to parse. No formats found. 

回答

2

這看起來是工作:

as.POSIXct(dates, format = '%a, %d %b %Y %H:%M:%S') 
#[1] "2017-11-18 GMT" "2017-11-16 GMT" "2017-11-15 GMT" "2017-11-14 GMT" 
1

我們還可以使用lubridate包中的dmy_hms

library(lubridate) 

dmy_hms(dates, tz = "GMT") 
# [1] "2017-11-18 GMT" "2017-11-16 GMT" "2017-11-15 GMT" "2017-11-14 GMT" 
1

使用as.Date這樣。它在最後忽略垃圾,所以這個工作。沒有包被使用。

as.Date(dates, "%a, %d %b %Y") 
## [1] "2017-11-18" "2017-11-16" "2017-11-15" "2017-11-14"