2016-03-15 61 views
0

我有以下数据框,我想计算每个用户的最早和最新日期之间的时间差。子集数据和计算时差

> data1 
     date user PC 
1 1/4/2010 BAC0081 PC1 
2 1/5/2010 BAC0081 PC2 
3 1/6/2010 BAC0081 PC3 
4 1/7/2010 BAC0081 PC4 
5 1/4/2010 BAC0082 PC5 
6 1/5/2010 BAC0082 PC6 
7 1/6/2010 BAC0082 PC7 
> 

结果我期望的是;

BAC00813天

BAC00822天

我找不到执行此功能的有效途径。任何人都可以告诉我一个正确的方法来做这件事。

感谢

回答

0

如果您有日期栏格式正确无误:

lapply(split(data1[, 1], data1[, 2]), function(x) range(x)[2] - range(x)[1]) 
+0

非常感谢您的回复。这对我来说很好。 – Anna