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