生存分析に適した形式にするために、データを再形成する必要があります。
私の現在のデータセットは次のようになります。
Product_Number Date Status
A 2018-01-01 0
A 2018-01-02 1
A 2018-01-03 0
B 2018-01-01 0
B 2018-01-02 0
B 2018-01-03 0
B 2018-01-04 1
C 2018-01-01 0
C 2018-01-02 0
Product_Number、Date、および Status の列に基づいて、データを再形成する必要があります (ステータスが 1 に変わるまでの日数を製品ごとにカウントしたいです。ステータスが 0 の場合、プロセスは最初からやり直す必要があります)。 .
したがって、データは次のようになります。
Product_Number Number_of_Days Status
A 2 1 #Two days til status = 1
A 1 0 #One day, status = 0 (no end date yet)
B 4 1 #Four days til status = 1
C 2 0 #Two days, status is still 0 (no end date yet)
これまでに何を試しましたか?
ProductNumber と Date でデータを並べ替えました。私はDPLYRの方法が大好きなので、以下を使用しました:
df <- df %>% group_by(Product_Number, Date) # note: my data is now in the form as in the example above.
次に、diff() 関数を使用して、日付の違いを確認しようとしました (日数を数えます)。しかし、ステータスが切り替わったとき(0から1、またはその逆)、カウントを「停止」できませんでした。
問題を明確に説明したことを願っています。追加情報が必要な場合はお知らせください。