0

生存分析に適した形式にするために、データを再形成する必要があります。

私の現在のデータセットは次のようになります。

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、またはその逆)、カウントを「停止」できませんでした。

問題を明確に説明したことを願っています。追加情報が必要な場合はお知らせください。

4

2 に答える 2