2016-11-21 1 views
0

숫자 데이터를 날짜 형식으로 변환하는 것에 대해 질문하고 싶습니다."715"와 같은 숫자 데이터를 "07 -/2015"날짜로 변환 R

내가 좋아하는 숫자 데이터를 변환하고 싶습니다 :

time1<-c(715, 1212, 0416) 

나는이 코드를 시도했지만 그것이 작동하지 않는

July-2015, Dec-2012, Apr-2016 

합니다.

time2<-as.Date(as.character(time1), format="%m%y") 

누구든지이 문제를 해결하기위한 아이디어가 있습니까?

+1

어떤 언어입니까? 기음#? 자바? 프롤로그? – user2023861

+0

당신은 TimeStamp를 의미합니까 –

+0

그것은'R' 언어입니다. 미안하다. 나는 분명히하는 것을 잊는다. – Joanna

답변

2

부분은 특정 날짜가 누락되어 있기 때문에 "년 7 월 2015", "2012년 12월"및 "2016년 4월는"날짜 아니라는 것이다. 또 다른 방법은 zoo::yearmon으로 변환하는 것입니다. 여기서, 숫자 입력은 달이되도록 01에서 12 제로를 선도 문자열로 변환 할 필요가 :

:

library(zoo) 
ym <- as.yearmon(sprintf("%04d",time1),format="%m%y") 
ym 
##[1] "Jul 2015" "Dec 2012" "Apr 2016" 

결과는 다음 Date 강제 변환 할 수 클래스 yearmon,이다

class(ym) 
##[1] "yearmon" 
d <- as.Date(ym) 
d 
##[1] "2015-07-01" "2012-12-01" "2016-04-01" 
class(d) 
##[1] "Date" 
2

lubridate::parse_date_time()을 시도해보십시오 문제의

library(lubridate) 
time2 <- parse_date_time(time1, orders = "my") 
format.Date(time2, "%b-%Y") 
[1] "juil.-2015" "déc.-2012" "avril-2016" # my locale lang is French 
+0

정말 고마워요. 흥미로운 점은이 코드가 "715"를 "2015 년 6 월"으로 변환한다는 것입니다. 나는 그 달이 0에서 11 사이라고 가정한다. 나는이 해결책이 가깝다고 생각하지만 달을 1에서 12로 변환 할 방법이 있습니까? – Joanna

+1

코드가 '715'에서 '7 월 -2015'로 변환 된 것처럼 보입니다. – BLT