我有一个数据框,其中包含几个不同站点的鹅数量。目的是在 9 月至 4 月之间的所有 8 个月中,在连续冬季期间对每个地点的鹅进行每月计数。冬季定义为 9 月至 4 月之间的 8 个月。
如果该方法已按计划执行,数据将如下所示:
df <- data.frame(site=c(rep('site 1', 16), rep('site 2', 16), rep('site 3', 16)),
date=dmy(rep(c('01/09/2007', '02/10/2007', '02/11/2007',
'02/12/2007', '02/01/2008', '02/02/2008', '02/03/2008',
'02/04/2008', '01/09/2008', '02/10/2008', '02/11/2008',
'02/12/2008', '02/01/2009', '02/02/2009', '02/03/2009',
'02/04/2009'),3)),
count=sample(1:100, 48))
最终出现的情况是,某些站点在某些 9 月至 4 月期间具有全部 8 个计数,但在其他 9 月至 4 月期间则没有。此外,一些站点在 9 月至 4 月期间从未达到 8 个计数。这些玩具数据看起来像我的实际数据:
df <- df[-c(11:16, 36:48),]
我需要从数据框中删除不属于 9 月至 4 月期间连续 8 次计数的行。使用玩具数据,这是我需要的数据框:
df <- df[-c(9:10, 27:29), ]
我尝试了使用ddply()
from plyr
package 的各种命令,但没有成功。这个问题有解决方案吗?