【发布时间】:2019-10-11 22:16:57
【问题描述】:
我有一个包含 4 个变量的数据框:id、measurement、date_a、date_b。
一个 id 可以对 df 贡献不止一次。我想对这个数据框进行子集化,以便每个 id 只包含一个测量值。我想根据 date_b 和 date_a 之间的最小差异为每个 id 选择一行,但是这个最小差异至少需要一年。有没有办法使用 dplyr 使用一行代码来做到这一点,而不是为日期差异创建一个新变量?
【问题讨论】:
-
这样对吗:显示每个 id 的单行,日期差最小,至少为一年?您是在寻找绝对日期差异还是 date_a 总是排在第一位?如果没有超过一年的差异,我们应该显示零行吗?
-
嗨,乔恩,是的,我想为每个 id 显示一行,其日期差异最小,至少为一年。日期差将始终为 date_b 减去 date_a。如果对于特定 id 没有最小差异大于一年的行,则应从新数据框中删除所有行。