我正在寻找一些data.table和/或dplyr的帮助。我有这样一个数据帧:使用data.table或dplyr与groupby和日期子集处理R中的数据
Name Date X Y
Mike 2016-10-21 3.2 1.6
Mike 2016-10-23 3.1 1.4
Mike 2016-10-24 4.9 3.8
Mike 2016-10-25 5.7 4.2
Mike 2016-10-28 0.2 -1.1
Bob 2016-10-21 2.2 -1.1
Bob 2016-10-22 0.2 -3.6
Bob 2016-10-24 -9.2 -14.1
Bob 2016-10-25 -7.2 -12.1
Alice 2016-10-20 7.2 6.1
Alice 2016-10-21 2.2 0.1
Alice 2016-10-23 13.2 8.1
Alice 2016-10-25 12.6 8.8
Alice 2016-10-27 7.7 4.7
Alice 2016-10-28 8.2 5.0
我希望能够返回X的平均& Y代表每个人,但是,我想子集,以便它仅使用值从每个人的最近3次日期中忽略来自较早日期的数据。我还想返回这3个最近日期之间的天数。理想情况下,我最终会得到这样的数据帧:
Name DaysBetween avgX avgY
Mike 4 3.6 2.3
Bob 3 -5.4 -9.9
Alice 3 9.5 6.2
编辑注:此数据将始终按日期排序,所以我们也许也只是采取了“最后3”的数据点,每个人,而不是尝试使用日期逻辑来找出哪三个是最近的。
非常感谢您的帮助!
嗯你有没有尝试过任何产生错误或错误结果? – lukeA
不,我没有。到目前为止,我只能得到每个人所有数据点的X和Y的平均值。但我正在努力如何使用最近3个日期的子集。尽管如此,我还是一个有data.table和dplyr的noob。 – user3808992