2014-12-19 5 views
1

간단한 질문입니다.ymd와 벡터의 날짜

d <- as.POSIXct(c("2014-01-01 00:00:00 BST", "2014-01-01 00:30:00 BST")) 
> class(d) 
[1] "POSIXct" "POSIXt" 

나는 시도하고 lubridate 그냥 날짜 부분을 추출 할 경우, 그것은 하나의 값으로 잘 작동하지만 전체 벡터, 즉 : 다음의 경우

> ymd(d[1]) 
[1] "2014-01-01 UTC" 

> ymd(d) 
[1] NA NA 
Warning message: 
All formats failed to parse. No formats found. 

좀 날짜, d이 기록, 작동 :

> as.Date(d, format="%F") 
[1] "2014-01-01" "2014-01-01" 

여기 무슨 일 이니?

답변

2

귀하의 문제는 벡터가 년, 월, 일 (ymd)뿐만 아니라시, 분, 초 (hms)에 불과하다는 점입니다. 이 대신에 사용하는 것이 좋습니다 : 당신은 그냥 날짜를 추출 할 경우

ymd_hms(d) 

, 당신은 사용할 수 있습니다

strftime(ymd_hms(d),'%Y-%m-%d') 
+0

아, 어쩌면 내가 오해. 필자는 텍스트 문자열의 날짜 형식을 추측하는 것 외에도'month()'와 같은 POSIXct 객체에서 날짜를 추출 할 것이라고 생각했습니다. – jkeirstead