2012-10-12 9 views
5

W data.frame mam datownik data w postaci:Konwersja char najświeższe czasie

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" 

każdym razem staram się przekształcić go z as.Date, lubridate lub zoo otrzymuję NA s lub Błędy.

W jaki sposób przekonwertować ten czas na czytelny formularz?

Próbowałem:

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

można udostępnić niektóre z kroków, które próbowały? Zwróć też uwagę, że 'as.date' to nie to samo co' as.Date'. – A5C1D2H2I1M1N2O1R2T1

+4

Co próbowaliście? spójrz na 'strptime' dla argumentu' format' dostarczającego 'as.Date' i innych. – Justin

Odpowiedz

17

Co naprawdę chcesz to strptime(). Spróbuj coś takiego:

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

Jako przykład ciekawych rzeczy można zrobić z strptime(), należy rozważyć następujące:

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"