2016-08-31 17 views
-4

です。Rには2つの日付文字列があり、どちらも異なる形式です。ある日付文字列を他の日付文字列と一貫性を持たせるように変換するにはどうすればいいですか?以下は、2つのフォーマットの例です。日付に焦点を当てるのではなく、文字列自体のフォーマットです。ありがとう!日付の書式設定の日付はR

"Wed Aug 31 14:14:13 2016" 
"09/12/2016 10:20 PM EDT" 
+0

可能性のある複製http://stackoverflow.com/questions/25463523/convert-variable-with-mixed-date-formats-to-one-format-in-r –

答えて

2

は、フォーマット文字列の細部のためhelp(strptime)を参照してください:

R> d1 <- as.Date("Wed Aug 31 14:14:13 2016", "%a %b %d %H:%M:%S %Y") 
R> d1 
[1] "2016-08-31" 
R> d2 <- as.Date("09/12/2016 10:20 PM EDT", "%m/%d/%Y %H:%M") 
R> d2 
[1] "2016-09-12" 
R> 

彼らはDateオブジェクトとして解析されたら、あなたは好きなようにフォーマットすることができます。同上Datetimeのオブジェクト。

編集:ほとんどの日付形式は実際には「既知」であるため、指定したセットと「推測」を繰り返し処理することもできます。 Rの日付が最初でトリッキーな概念であることができ

R> library(RcppBDT)  
R> 
R> as.Date(toPOSIXct(c("Wed Aug 31 14:14:13 2016", "09/12/2016 10:20 PM EDT"))) 
[1] "2016-08-31" "2016-09-12"  
R> 
0

:私はこれを扱う(GitHubのではなく、まだCRAN上に)RcppBDTでいくつかのコードを持っています。文字列を日付に変換するためのas.Date()関数と、datetimesを文字列に解析するstpftime()関数を調べてください。現在の値の書式に応じて、これらの値のいずれかまたは両方が有効になります。

  • ?のstrptime
  • ?as.Date

基本的に、あなたはあなたが必要なものを得るためにあなたの日付のさまざまなコンポーネントを解析しているやって終わるつもり何(例えば日、月、Year)ですが、解析は文字列の現在の形式によって異なります。このような幅広い疑問に対して明確な答えを出すのは難しいですが、上記の機能に慣れたいと思うでしょう。

+0

'strftime'は_formatting_です。あなたはおそらく_parsing_の 'strptime'を意味していました。 –

+0

はい、私の間違いです!これを指摘してくれてありがとう。編集されました。 –