0
我有一个数据帧,包含6列和许多行,其中包含单个标记的鱼的位置。的结构是如下所示:基于周围的行删除数据框中的行
头(tag.29912)
Date.and.Time..UTC. Receiver Transmitter Latitude Longitude ndiffs29912
1 07/10/2010 15:53 VR2W-107619 A69-1303-29912 48.56225 -53.89144 NA
2 07/10/2010 15:56 VR2W-107619 A69-1303-29912 48.56225 -53.89144 180
3 07/10/2010 16:00 VR2W-107619 A69-1303-29912 48.56225 -53.89144 240
4 07/10/2010 16:24 VR2W-107619 A69-1303-29912 48.56225 -53.89144 1440
5 07/10/2010 16:45 VR2W-104556 A69-1303-29912 48.56460 -53.88956 1260
6 07/10/2010 16:47 VR2W-107619 A69-1303-29912 48.56225 -53.89144 120
的ndiffs29912指差在检测之间的时间 - 因此在第一行具有NA,因为没有什么先前计算的时间与...不同。
我想过滤掉24小时内发生的任何单个检测(86400秒),因为这些可能是虚假的。我试过以下代码尝试删除它们:
for (i in 1:length(tag.29912)) {
if (tag.29912[i,6]>=86400 & tag.29912[i+1,6]>=86400)
{rm(i)}
这没有奏效。我也试过:
for (i in 1:length(tag.29912)) {
if (tag.29912[i,6]>=86400 & tag.29912[i+1,6]>=86400)
{new<-tag.29912[i,]}
else{filteredtag.29912<-as.data.frame(tag.29912[-new])}
}
无济于事。最终,我想要删除所有单个检测的新数据帧。 任何提示将非常感谢!
感谢您的快速回复。今天我会研究矢量化。 – user1195564 2012-02-14 11:59:16