У меня есть кадр данных df1
, который суммирует с интервалом в один час, сколько раз животное было замечено в каком-либо месте.
Например:
df1<- data.frame(DateTime=c("2016-09-27 10:00:00","2016-09-27 10:00:00","2016-09-27 11:00:00","2016-09-27 11:00:00","2016-09-27 12:00:00","2016-09-27 12:00:00","2016-09-27 13:00:00","2016-09-27 13:00:00","2016-09-27 14:00:00","2016-09-27 14:00:00","2016-09-27 15:00:00","2016-09-27 15:00:00","2016-09-27 16:00:00","2016-09-27 16:00:00","2016-09-27 17:00:00","2016-09-27 17:00:00","2016-09-27 18:00:00","2016-09-27 18:00:00"),
AnimalID= c(8,9,8,9,8,9,8,9,8,9,8,9,8,9,8,9,8,9),
Times_seen=c(6,3,0,7,0,2,0,0,7,0,2,0,5,0,2,1,0,8))
> df1
DateTime AnimalID Times_seen
1 2016-09-27 10:00:00 8 6
2 2016-09-27 10:00:00 9 3
3 2016-09-27 11:00:00 8 0
4 2016-09-27 11:00:00 9 7
5 2016-09-27 12:00:00 8 0
6 2016-09-27 12:00:00 9 2
7 2016-09-27 13:00:00 8 0
8 2016-09-27 13:00:00 9 0
9 2016-09-27 14:00:00 8 7
10 2016-09-27 14:00:00 9 0
11 2016-09-27 15:00:00 8 2
12 2016-09-27 15:00:00 9 0
13 2016-09-27 16:00:00 8 5
14 2016-09-27 16:00:00 9 0
15 2016-09-27 17:00:00 8 2
16 2016-09-27 17:00:00 9 1
17 2016-09-27 18:00:00 8 0
18 2016-09-27 18:00:00 9 8
В соответствии с этим, я хочу добавить новую переменную в df1
, которая говорит, может ли животное быть там или нет (если вы не видите, это не значит, что его там не было).Очевидно, что если Times_seen
больше 0, мы добавляем Yes
в переменную df1$Presence
.Но когда Times_seen
равно 0, я хочу рассмотреть два варианта: A) животное было там, но никто его не видел (и тогда Presence
- Yes
), и B) животное не было в этомместо (а затем, Presence
- это No
).
Критерии для того, чтобы считать, что животного больше нет в этом месте: переменная Times_seen
животного равна 0, и ее не видели вэто место в ПРЕДЫДУЩЕМ двух часах.
В качестве примера того, что я ожидал бы получить, это:
> df1
DateTime AnimalID Times_seen Presence
1 2016-09-27 10:00:00 8 6 Yes
2 2016-09-27 10:00:00 9 3 Yes
3 2016-09-27 11:00:00 8 0 Yes
4 2016-09-27 11:00:00 9 7 Yes
5 2016-09-27 12:00:00 8 0 Yes
6 2016-09-27 12:00:00 9 2 Yes
7 2016-09-27 13:00:00 8 0 No
8 2016-09-27 13:00:00 9 0 Yes
9 2016-09-27 14:00:00 8 7 Yes
10 2016-09-27 14:00:00 9 0 Yes
11 2016-09-27 15:00:00 8 2 Yes
12 2016-09-27 15:00:00 9 0 No
13 2016-09-27 16:00:00 8 5 Yes
14 2016-09-27 16:00:00 9 0 No
15 2016-09-27 17:00:00 8 2 Yes
16 2016-09-27 17:00:00 9 1 Yes
17 2016-09-27 18:00:00 8 0 Yes
18 2016-09-27 18:00:00 9 8 Yes
Кто-нибудь знает, как это сделать?