将公式应用于R中的变量时间序列
Applying formula to variable time series in R
我在 R 中有一个数据框,我必须 运行 保留报告。我需要 运行 df 销售月-年 sequence/subsets 的保留公式。
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 等...天
例如,要计算 10 月份售出的会员资格的 60 天保留率,我将使用:
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")
它正确地提供了 10 月份出售的会员资格的 60 天保留。
我的问题是,除了为每个月和每个 X 天变量手动创建一个 Month*_Retention 对象之外,是否还有另一种方法告诉 R 运行 一月至十二月的公式例如,30- 60- 90 -120 天的保留?我需要一种方法来告诉 R 运行 每个销售月和每个变量 x 天的公式。
我在 excel 多年来一直在 运行 关注这份特别报告,我可能只是以错误的方式处理了这个问题。附件是我试图在 R 中完成的图像。
任何和所有输入将不胜感激
使用dplyr,您可以获得如下月费率:
library(dplyr)
report <- df %>%
group_by(sale_month) %>%
summarise(retention30 = round(sum(is.na(days_to_cancel) | days_to_cancel > 30) / n() * 100, 1),
rentention60 = round(sum(is.na(days_to_cancel) | days_to_cancel > 60) / n() * 100, 1))
在这种情况下,我在每个保留期内都不会取消。您可以修改条件以满足您在这方面的需求。
我在 R 中有一个数据框,我必须 运行 保留报告。我需要 运行 df 销售月-年 sequence/subsets 的保留公式。
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 等...天
例如,要计算 10 月份售出的会员资格的 60 天保留率,我将使用:
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")
它正确地提供了 10 月份出售的会员资格的 60 天保留。
我的问题是,除了为每个月和每个 X 天变量手动创建一个 Month*_Retention 对象之外,是否还有另一种方法告诉 R 运行 一月至十二月的公式例如,30- 60- 90 -120 天的保留?我需要一种方法来告诉 R 运行 每个销售月和每个变量 x 天的公式。
我在 excel 多年来一直在 运行 关注这份特别报告,我可能只是以错误的方式处理了这个问题。附件是我试图在 R 中完成的图像。
任何和所有输入将不胜感激
使用dplyr,您可以获得如下月费率:
library(dplyr)
report <- df %>%
group_by(sale_month) %>%
summarise(retention30 = round(sum(is.na(days_to_cancel) | days_to_cancel > 30) / n() * 100, 1),
rentention60 = round(sum(is.na(days_to_cancel) | days_to_cancel > 60) / n() * 100, 1))
在这种情况下,我在每个保留期内都不会取消。您可以修改条件以满足您在这方面的需求。