У меня есть данные радиотрекинга, охватывающие 6 недель, которые менее надежны, когда количество обнаружений (т.е. наблюдений) мало в данный период времени. Поэтому я хотел бы установить подкадр данных таким образом, чтобы любой час с менее чем 10 обнаружениями был исключен из моих данных. Как видно на приведенном ниже кадре данных, одна строка 'Power' соответствует одному обнаружению.
DateTime Power
> 1. 2018-05-21 20:56:04 30
> 2. 2018-05-21 20:56:07 20
> 3. 2018-05-21 20:56:44 35
> 4. 2018-05-21 20:56:47 37
> 5. 2018-05-21 20:57:48 26
> 6. 2018-05-21 21:32:36 35
Я понимаю, что это, вероятно, предполагает сначала какой-то подсчет по часам, чего, я думаю, я достиг с помощью коданиже (который затем создал подкадр данных ниже), но я не уверен, как теперь я устанавливаю под своим начальным фреймом данных эти значения.
Tag201 %>%
count(Date1 = as.Date(DateTime), Hour = hour(DateTime)) %>%
group_by(Date1) %>%
complete(Date1, Hour = min(Hour):24, fill = list(n = 0)) %>%
arrange(Date1, Hour)
Date1 Hour n
<date> <int> <dbl>
1 2018-05-19 0 402
2 2018-05-19 1 4
3 2018-05-19 2 501
4 2018-05-19 3 858
5 2018-05-19 4 192
6 2018-05-19 5 19
Любая помощь будет принята с благодарностью.
РЕДАКТИРОВАТЬ:
Мне удалось сделать это с кодом ниже:
Tag201 <- Tag201 %>%
group_by(Date=floor_date(DateTime, "1 hour")) %>%
mutate(c1=length(Power))
tt <- table(Tag201$c1)
Tag201 <- subset(Tag201, c1 %in% names(tt[tt >10]))