0
计算日期之间的平均差异我有数据集像下面,我想计算每个唯一ID如何通过ID中的R
data:
membership_id created_date
1 12000000 2015-01-20
2 12000001 2012-11-19
3 12000001 2013-10-07
4 12000001 2014-03-06
5 12000001 2015-01-14
6 12000003 2013-02-08
7 12000003 2014-03-06
8 12000000 2014-02-05
9 12000000 2012-01-06
的平均时间差从上面的数据集我想计算日期之间的平均时间差为每一个独特的ID
尝试:
library(plyr)
data =data[order(data$membership_id,data$created_date),]
result = ddply(data,.(membership_id),summarize, avg = as.numeric(mean(diff(created_date))))
上面的代码工作正常,当我在小数据应用,但我的数据集是5万狮子行,它正在采取大量的时间和它仍然是从最后6小时
预期输出运行:
membership_id avg_time_diff
1 12000000 76 days
2 12000001 56 days
3 12000003 54 days
请使用'dput'把你的数据的可重复子集在您的文章。 –
您可能会考虑切换到data.table,在这些情况下速度要快很多。 – Heroka
您的期望输出似乎不符合您的示例输入。例如,ID“12000000”有3次观察,大约2年和1年,所以它的平均差异达到了555天。 – Gregor