teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

補足の追記

2018/11/07 08:22

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -28,4 +28,23 @@
28
28
  グループ中で最も古いdateをstart_date、最も新しいdateをend_dateとします。
29
29
  ex) 10/01~03のグループの場合、start_dateは10/01、end_dateは10/03となります。
30
30
  なお、10/01~03のグループと10/06~07のグループはID,place,toolが同一ですが
31
- 日付が連続していないので、別々のグループとみなします。
31
+ 日付が連続していないので、別々のグループとみなします。
32
+
33
+ 【補足】
34
+ ```ここに言語を入力
35
+ # DF1→DF2への変換
36
+ library(dplyr)
37
+ DF2 <-
38
+ DF1 %>%
39
+ group_by(ID, place, tool) %>%
40
+ mutate(start_date = min(date)) %>%
41
+ mutate(end_date = max(date)) %>%
42
+ distinct(ID, place, start_date, end_date, tool)
43
+ ```
44
+
45
+ 上記のようなコードを書いた場合、以下のようにID,place,toolが同一のレコードで
46
+ まとまってしまうため、そうならないための方法を探しています。
47
+ |ID|place|start_date|end_date|tool|
48
+ |:--|:--:|--:|--:|--:|
49
+ |001|A|2018/10/01|2018/10/07|XXX|
50
+ |001|A|2018/10/04|2018/10/05|YYY|