分と時間を含む 3 つの列を含むデータフレームがあります。これらの列 (つまり、分と列) を時刻形式に変換したいと考えています。のデータが与えられた場合drame
:
Score Hour Min
10 10 56
23 17 01
私は取得したい:
Score Time
10 10:56:00
23 17:01:00
分と時間を含む 3 つの列を含むデータフレームがあります。これらの列 (つまり、分と列) を時刻形式に変換したいと考えています。のデータが与えられた場合drame
:
Score Hour Min
10 10 56
23 17 01
私は取得したい:
Score Time
10 10:56:00
23 17:01:00
との数値をオブジェクトISOdatetime
に変換するために使用できます。ただし、POSIXct オブジェクトは、年、月、日も含まれている場合にのみ定義されます。したがって、ニーズに応じて、いくつかのことを実行できます。hour
min
POSIXct
ISOdatetime
。ISOdatetime
いわゆるPOSIXct
オブジェクトを返します。これは、時間を表す R オブジェクトです。次に、 、、およびISOdatetime
に固定値を使用するだけです。これはもちろん、データセットが複数年にまたがらない場合にのみ機能します。year
month
day
Time
変換できます。引数を に設定します。ただし、この場合、 : に変換せずに新しい文字列を作成するために使用することもできます。POSIXct
strftime
format
"%H:%M:00"
sprintf
POSIXct
sprintf("%s:%s:00", drame$Hour, drame$Min)
paste()関数を使用して 2 つの列のデータを 1 つの文字にマージし、strptime() を使用してタイムスタンプに変換できます。
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
結果として
#1:8:00 2:9:00 3:10:00 4:11:00 5:12:00 6:13:00
これをタイムスタンプオブジェクトに変換したい場合は、使用してみてください
strptime(mergedData,"%H:%M:%S")
## uses current date by default
たまたま別の列に日付がある場合は、paste() を使用して文字形式の日付を作成し、以下を使用して日時を取得します
##strptime(mergedData,"%d/%m/%Y %H:%M:%S")