MY DATASETは継続時間を分単位で計算する方法は?
私のデータセットは、週(Day
)の様々な日に異なる領域(Location
)で働く多くの人々(ID
)の開始時刻と終了時刻を含んでいます。私のデータセットの例は以下の通りです:
> head(WeekOne, 15)
Start Finish Day ID Location
1 2017-04-12 00:00:00 2017-04-12 00:02:55 D1 Daniel Office
2 2017-04-12 00:02:55 2017-04-12 00:06:18 D1 Daniel Office
3 2017-04-12 00:06:18 2017-04-12 00:08:20 D1 Daniel OnSite
4 2017-04-12 00:08:20 2017-04-12 00:08:40 D1 Daniel OnSite
5 2017-04-12 00:08:40 2017-04-12 00:10:11 D1 Daniel Travel
6 2017-04-12 00:10:11 2017-04-12 00:10:18 D1 Daniel Travel
7 2017-04-12 00:10:18 2017-04-12 00:17:52 D1 Daniel Travel
8 2017-04-12 00:17:52 2017-04-12 00:19:00 D1 Daniel Travel
9 2017-04-12 00:19:00 2017-04-12 00:19:56 D1 Daniel OnSite
10 2017-04-12 00:19:56 2017-04-12 00:28:48 D1 Daniel OnSite
11 2017-04-12 00:00:00 2017-04-12 00:03:52 D2 Daniel OnSite
12 2017-04-12 00:03:52 2017-04-12 00:04:05 D2 Daniel Office
13 2017-04-12 00:04:05 2017-04-12 00:08:32 D2 Daniel Office
14 2017-04-12 00:08:32 2017-04-12 00:16:01 D2 Daniel Travel
15 2017-04-12 00:16:01 2017-04-12 00:25:35 D2 Daniel OnSite
私は数分で、各ID
は週にわたり各Location
に費やし、合計時間を知りたいです。 Day
の最大レベルはD7で、毎週別のdata.frameがあります。したがって、私はLocation
とID
を反復するだけです。これは奇妙な書式で分を返し、1日に同じ場所に複数の訪問を考慮していませんが、私は、
以下のコードを試みたWHAT
。たとえば、DanielはD1
に2回、OnSite
を2回訪問します。
WeekOne %>%
group_by(ID, Location) %>%
summarise(Duration = max(Finish) - min(Start))
私は複数とLocation
の変化を考慮し、新しい列WeekOne$Level
を作成するのだと思いました。その後、各レベルで繰り返し、上記のコードを使用できます。たとえば:
> head(WeekOne, 15)
Start Finish Day ID Location Level
1 2017-04-12 00:00:00 2017-04-12 00:02:55 D1 Daniel Office 1
2 2017-04-12 00:02:55 2017-04-12 00:06:18 D1 Daniel Office 1
3 2017-04-12 00:06:18 2017-04-12 00:08:20 D1 Daniel OnSite 2
4 2017-04-12 00:08:20 2017-04-12 00:08:40 D1 Daniel OnSite 2
5 2017-04-12 00:08:40 2017-04-12 00:10:11 D1 Daniel Travel 3
6 2017-04-12 00:10:11 2017-04-12 00:10:18 D1 Daniel Travel 3
7 2017-04-12 00:10:18 2017-04-12 00:17:52 D1 Daniel Travel 3
8 2017-04-12 00:17:52 2017-04-12 00:19:00 D1 Daniel Travel 3
9 2017-04-12 00:19:00 2017-04-12 00:19:56 D1 Daniel OnSite 4
10 2017-04-12 00:19:56 2017-04-12 00:28:48 D1 Daniel OnSite 4
11 2017-04-12 00:00:00 2017-04-12 00:03:52 D2 Daniel OnSite 5
12 2017-04-12 00:03:52 2017-04-12 00:04:05 D2 Daniel Office 6
13 2017-04-12 00:04:05 2017-04-12 00:08:32 D2 Daniel Office 6
14 2017-04-12 00:08:32 2017-04-12 00:16:01 D2 Daniel Travel 7
15 2017-04-12 00:16:01 2017-04-12 00:25:35 D2 Daniel OnSite 8
WeekOne %>%
group_by(ID, Level) %>%
summarise(Duration = max(Finish) - min(Start))
は、しかし、私もそれがLocation
を考慮していない、この列を追加する方法がわからないよ、面倒なようで、面白い形式で返す分で問題に対処しません。
私の質問
どのように迅速かつ簡単に時間をかけて各ID
によってLocation
の合計時間を計算することができますか?期間は分単位で、分単位で四捨五入してください。たとえば、3分です。
この 'Total_Duration'の形式は何ですか?例えば、私は933.50000238419という番号が与えられていますが、 'Total_Duration'はどのようにして数分で取得できますか? – user2716568
あなたは秒のatmのように見えるので、分で60分に分けてください –