Мне нужно изменить свои данные, чтобы получить их в надлежащем формате для Survival Analysis.
Мой текущий набор данных выглядит следующим образом:
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 и наоборот).
Надеюсь, я четко объяснил проблему.Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.