2016-11-21 6 views
0

数値データを日付形式に変換することについて質問してください。"715"のような数値データを "07-2015"の日付に変換するR

私のような数値データに変換したい:

July-2015, Dec-2012, Apr-2016 

time1<-c(715, 1212, 0416) 

を私はこれらのコードを試してみましたが、それは動作しません。

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

誰でもこの問題を解決するためのアイデアはありますか?

+1

どのような言語ですか? C#? Java?プロローグ? – user2023861

+0

あなたはタイムスタンプ –

+0

を意味しますか?それは 'R'言語です。申し訳ありませんが私は明確にすることを忘れます。 – Joanna

答えて

2

問題の一部は、特定の日が欠落しているので、「2015年7月」、「2012年12月」、および「は2016年4月には、」日付のないことです。もう1つの方法は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

関連する問題