我有一個R中的數據框,我必須運行保留報告。我需要運行df銷售月份年的序列/子集的保留公式。將公式應用於R中的可變時間序列
Sale_date, Cancel_date, days_to_cancel, sale_month;
2015-01-01, 2015-04-06, 95, 2015-01;
2015-04-01, , NA, 2015-04;
2015-10-31, 2015-11-02, 3, 2015-10;
2013-05-20, 2014-05-20, 365, 2013-05;
我已經格式化了會員銷售日期和取消日期的列as.Date。我還創建了一個新的列df $ days_to_cancellation as.numeric,給我取消會員所需的天數(取消日期 - 銷售日期,na.strings = NA)和sale_month列,以便更容易序列。我使用公式計算保留百分比: (1-(x_days_Cancel_rate))其中x可以是15,30,60,90,120等...天
例如,要計算會員資格的60天保留期在10月份出售我會用:
October_Retention<-1-(sum(df$sale_date>="2015-10-01"&df$sale_date<"2015-11-01"&df$days_to_cancel<=60,na.rm=T)/sum(df$sale_date>="2015-10-01"&df$sale_date<"2015-11-01")
它正確地提供了60天的會員資格保留在十月出售。
我的問題是,除了手動爲每個月和每個X天變量創建一個Month * _Retention對象,還有另一種告訴R運行1月至12月的公式的另一種方式30- 60-90例如-120天保留?我需要一種方法告訴R運行每個銷售月和每個變量x天的公式。
我一直在excel中運行這個特定的報告多年,我可能只是以錯誤的方式來處理這個問題。連接是什麼,我想在河
完成任何和所有的投入,將不勝感激
請使用適當的格式化佈局選項以提高可讀性。 – SaeX
而不是做那個痛苦的雙重邏輯測試,用'cut.date'使用by =「1 month」是不是更容易做一個變量?然後你將有一個分類變量傳遞給聚合類型的函數。您也可以在幾天內使用「剪切」來取消,然後使用兩者的「交互」。請不要進入構建命名對象的副本的SAS/SPSS/BASIC兔子洞。 –
非常感謝,看起來像cut.Date做到了。 – Rick