2012-04-10 20 views
2

分と時間を含む3列のデータフレームがあります。 これらの列(分と列)を時刻形式に変換したいと考えています。 drame内のデータを考える:データフレームの時間、分の列を時刻形式に変換する

Score Hour Min 
10 10 56 
23 17 01 

私が取得したいと思います:

Score Time 
10 10:56:00 
23 17:01:00 
+0

を取得するには、以下を使用する)(別の列の使用ペーストに日付を持って起こる場合は?この質問を後で読む人にとっては面白いかもしれません。 –

+0

私はISOdatetimeを使用しましたが、年月日を指定する必要があります – jan5

+0

そして、あなたはそれらに私が仮定した任意の値を与えました... –

答えて

6

あなたはPOSIXctオブジェクトにhourminに数値を変換するためにISOdatetimeを使用することができます。ただし、POSIXctオブジェクトは、年、月、日も含まれている場合にのみ定義されます。だから、いくつかのことを行うことができますし、ニーズに応じて:

  • を正しく例えばグラフに印刷され、算術演算(加算、減算)で使用することができ、リアルタイムのオブジェクトが必要な場合は、ISOdatetimeを使用する必要があります。 ISOdatetimeは、時間を表すRオブジェクトであるいわゆるPOSIXctオブジェクトを返します。次にISOdatetimeでは、year,month、およびdayの固定値を使用するだけです。このコースは、データセットが複数年にまたがっていない場合にのみ有効です。
  • 文字列Timeが必要な場合は、strftimeを使用してPOSIXctの出力を文字列に変換できます。 format引数を"%H:%M:00"に設定します。ただし、この場合はsprintfを使用して、POSIXctsprintf("%s:%s:00", drame$Hour, drame$Min)に変換せずに新しい文字列を作成することもできます。
1

あなたは

x<-1:6 
##1 2 3 4 5 6 
y<-8:13 
## 8 9 10 11 12 13 

timestamp <- paste(x,":",y,":00",sep="") 
timestamp 

をタイムスタンプに変換する)(CHARに2つの列のデータをマージした後のstrptimeを使用するペースト()関数を使用することができ

#1:8:00 2:9:00 3:10:00 4:11:00 5:12:00 6:13:00 
もたらします

これをタイムスタンプオブジェクトに変換する場合は、

あなたは、char formattted日付を作成し、日付時刻あなたは以下の私の質問の選択肢の選択でした

##strptime(mergedData,"%d/%m/%Y %H:%M:%S") 
関連する問題