2012-10-12 29 views
5

Trong một data.frame, tôi có một tem thời gian ngày theo hình thức:Chuyển đổi char cho đến nay thời gian

head(x$time) 
[1] "Thu Oct 11 22:18:02 2012" "Thu Oct 11 22:50:15 2012" "Thu Oct 11 22:54:17 2012" 
[4] "Thu Oct 11 22:43:13 2012" "Thu Oct 11 22:41:18 2012" "Thu Oct 11 22:15:19 2012" 

Mỗi lần tôi cố gắng chuyển đổi nó với as.Date, lubridate, hoặc sở thú tôi nhận được NA s hoặc Lỗi.

Cách chuyển đổi thời gian này thành biểu mẫu có thể đọc được là gì?

Tôi đã thử:

Time<-strptime(x$time,format="&m/%d/%Y %H:$M") 
    x$minute<-parse_date_time(x$time) 
    x$minute<-mdy(x$time) 
    x$minute<-as.Date(x$time,"%m/%d/%Y %H:%M:%S") 
    x$minute<-as.time(x$time) 
    x$minute<-as.POSIXct(x$time,format="%H:%M") 
    x$minute<-minute(x$time) 
+4

bạn có thể chia sẻ một số bước bạn đã cố gắng? Ngoài ra, lưu ý rằng 'as.date' không giống với' as.Date'. – A5C1D2H2I1M1N2O1R2T1

+4

Bạn đã thử những gì? hãy xem 'strptime' cho đối số 'format' để cung cấp cho' as.Date' và các đối số khác. – Justin

Trả lời

17

gì bạn thực sự muốn là strptime(). Hãy thử một cái gì đó như:

strptime(x$time, "%a %b %d %H:%M:%S %Y") 

Như một ví dụ về những điều thú vị bạn có thể làm với strptime(), hãy xem xét những điều sau đây:

thedate <- "I came to your house at 11:45 on January 21, 2012." 
strptime(thedate, "I came to your house at %H:%M on %B %d, %Y.") 
# [1] "2012-01-21 11:45:00" 
Các vấn đề liên quan