我需要重塑我的数据,以获得一个适合生存分析的格式。
我当前的数据集如下所示:
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
我需要根据产品编号、日期和状态(我想计算每个产品的天数,直到状态转换为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)
到目前为止我试过什么?
我按产品编号和日期订购了我的数据。我喜欢dpylr的方式,所以我使用:
df <- df %>% group_by(Product_Number, Date) # note: my data is now in the form as in the example above.
然后我尝试使用diff()函数来查看日期的差异(计算天数)。但我无法“停止”计数,当状态切换时(从0到1,反之亦然)。
我希望我能清楚地解释这个问题。如果您需要其他信息,请告诉我。