我对 R 相当陌生,如果你能帮助解决这个问题,那就太好了,因为我无法在网上找到这个问题的任何答案。这是我的数据框 (DF) 的一部分(以这种格式持续到 2008 年)
Counter Date Hour counts
1245 26/05/2006 0 1
1245 26/05/2006 100 0
1245 26/05/2006 200 2
1245 26/05/2006 300 0
1245 26/05/2006 400 5
1245 26/05/2006 500 3
1245 26/05/2006 600 9
1245 26/05/2006 700 10
1245 26/05/2006 800 15
这是我的问题: 我需要对我的代码进行子集化,以便在 600 到 2200 小时之间,如果计数超过 0,那么我需要在数据集中保留一整天(000 到 2300),但如果没有计数在指定的时间段内(600 到 2200)则需要删除一整天。我怎样才能做到这一点?
我尝试使用以下代码来执行此操作,尽管它只需要 600 到 2200 小时之间的计数数据,而且我不知道如何让它花费一整天。
DF2=DF[(DF$hour>=600)&(DF$hour<=2200)&(DF$counts>0),] ##16hr worth of counts from 600 to 2200
然后,我使用以下代码将每小时计数汇总为每日计数的数据子集
daily=subset(DF2)
daily$date = as.Date(daily$date, "%m/%d/%Y")
agg=aggregate(counts~ date, daily, sum)
town=merge(agg,DF2$counter,all=TRUE)
非常感谢您提前提供的帮助,凯蒂