2016-04-26 6 views
0

私は分析し始めているデータの小さなトレーニングセットを持っています。データセットは、病院手続きコード、前記手技の値、および日付/時刻スタンプからなる。私は、タイムスタンプを「時間帯」カテゴリに分解しようとしています。手順の値のいくつかは午前/夕方によって異なるためです。R:POSIXct日付によるカット関数:時刻に基づいて特定のカテゴリを作成する

私はcut()を使用しようとしましたが、カテゴリの時間間隔を入力する方法がわかりません(例:00:00から06:00 = "断食"、06:01-10:00 = "モーニング・ミール"、...)。

何か助けや指示があれば幸いです。

+0

あなたは – Austin

+0

'x_cut <を試してみたもののコード例を提供 - カット(のx $のservicedate、4)'データの年間で4つのカテゴリ区間にデータの内訳を返します。私は具体的に手順の値を時間帯別に分類することを望んでいます。 –

答えて

1

パッケージlubridのhourを使用して、日付から時間を抽出することができます。

> library(lubridate) 
> now() 
[1] "2016-04-26 23:21:56 CEST" 
> dt <- now() 
> hour(dt) 
[1] 23 
> cut(hour(dt), breaks = c(0, 6, 12, 18, 24), include.lowest = TRUE) 
[1] (18,24] 
Levels: [0,6] (6,12] (12,18] (18,24]> 
+0

このような単純なタスクのためのパッケージは必要ありません。 'cut(as.integer(format、x、%H))、seq(0,24,6)、include.lowest = TRUE) ' – thelatemail

+0

確かに、 Rubridateを使う必要はありませんが、コードを分かりやすくして、 'as.integer'のステップを避けることができます。 –

+0

ありがとうございます。私は新しいRユーザーです、これは私にトラブルを与えていました... –

関連する問題