【发布时间】:2016-03-06 04:46:02
【问题描述】:
我有一个如下所示的数据集-
Date Customer Cost Location
1/2/15 Jon $50 Sunnyvale, CA
1/5/15 Jon $125 Sunnyvale, CA
1/15/15 Jon $25 Sunnyvale, CA
1/3/15 Martha $30 Fresno, CA
1/7/15 Martha $40 Fresno, CA
2/16/15 James $30 Tempe, AR
2/20/15 James $70 Tempe, AR
我想转换为以下格式,其中每一行都为我提供有关单个客户、他的最新到达日期、净支出、总出现次数的信息并创建一个到达模型-
Date Customer Mean ITA(days) Frequency Cost Location
1/15/15 Jon 6.5 3 $200 Sunnyvale, CA
1/7/15 Martha 4 2 $70 Fresno, CA
2/20/15 James 4 2 $100 Tempe, AR
感谢您在 R 中提供的任何帮助。我正在使用 tidyr 包,但无法弄清楚如何完成这项工作。
【问题讨论】:
-
什么是 ITA?你是怎么算的?
-
首先,学习如何转换日期,然后学习如何使用 dplyr,尤其是它的
summarise命令。 (很确定ITA = ( last(Date) - first(Date) ) / n(),以防有人对此感到困惑) -
一般来说,
dplyr你需要df %>% group_by(Customer, Location) %>% summarise( ... ),其中...是构造你想要的所有列的参数。首先,清理您的原始数据;你的日期不是日期对象,如果它们有$,你的成本也不是数字。当您遇到困难时告诉我们,我们会为您指明正确的方向。