時刻の作成とフォーマット
日付の操作と同様に、as.POSIXct() を使って文字列を POSIXct オブジェクトに変換したり、format() を使って POSIXct オブジェクトを文字列に変換したりできます。使用できる変換記号は多岐にわたります。
%H: 時(10進数、00〜23)%I: 時(10進数、01〜12)%M: 分(10進数)%S: 秒(10進数)%T: 標準フォーマット%H:%M:%Sの省略表記%p: AM/PM の表示
変換記号の全リストは、コンソールで strptime のドキュメントを参照してください。
?strptime
なお、as.POSIXct() は文字列を照合する際にデフォルトのフォーマット %Y-%m-%d %H:%M:%S を使用します。この演習では、タイムゾーンの違いは考慮しません。
この演習はコースの一部です
中級 R
演習の手順
- タイムスタンプを表す2つの文字列
str1とstr2を、それぞれPOSIXct、time1という名前のtime2オブジェクトに変換してください。 format()を使って、time1から分のみを含む文字列を作成してください。time2から、「時:分 AM/PM」の形式で時と分を取り出してください。正しい変換記号については、上の説明を参照してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Definition of character strings representing times
str1 <- "May 23, '96 hours:23 minutes:01 seconds:45"
str2 <- "2012-3-12 14:23:08"
# Convert the strings to POSIXct objects: time1, time2
time1 <- as.POSIXct(str1, format = "%B %d, '%y hours:%H minutes:%M seconds:%S")
# Convert times to formatted strings