我有以下数据框:
group_id date_show date_med
1 1976-02-07 1971-04-14
1 1976-02-09 1976-12-11
1 2011-03-02 1970-03-22
2 1993-08-04 1997-06-13
2 2008-07-25 2006-09-01
2 2009-06-18 2005-11-12
3 2009-06-18 1999-11-03
我希望以这样的方式对我的数据框进行子集,即新数据框仅显示date_show
的值超过10天的行,但这种情况应该仅适用于每个组。即如果date_show
列中的值相隔不到10天,但group_id
s不同,我需要保留两个条目。根据上表,我希望我的结果如下:
group_id date_show date_med
1 1976-02-07 1971-04-14
1 2011-03-02 1970-03-22
2 1993-08-04 1997-06-13
2 2008-07-25 2006-09-01
2 2009-06-18 2005-11-12
3 2009-06-18 1999-11-03
删除哪一行并不重要,因为我首先进行子集化的原因是在应用此条件后计算我剩下的行数。
我尝试过使用diff
函数,但我不确定如何以最简单的方式解决它,因为这个问题已经在另一个sapply函数中,所以我试图避免任何一种额外的循环(在这种情况下是group_id
)。
我正在使用的df有大约10万行。理想情况下,我想用base R执行此操作,因为我无权在我正在处理的机器上安装任何其他软件包,但如果这是不可能的(或者如果使用额外的软件包来解决这个问题会明显更好),我可以尝试让我的管理员安装它。
任何提示都将不胜感激!