Это мой набор данных (называемый cc)
Counter Date Hour Counts
1296 02/05/2008 0 2
1296 02/05/2008 100 0
1296 02/05/2008 200 2
1296 02/05/2008 300 0
1296 02/05/2008 400 1
1296 02/05/2008 500 6
1296 02/05/2008 600 6
1296 02/05/2008 700 45
1296 02/05/2008 800 106
1296 02/05/2008 900 43
1296 02/05/2008 1000 33
1296 02/05/2008 1100 -4
1296 02/05/2008 1200 -4
1296 02/05/2008 1300 56
1296 02/05/2008 1400 45
1296 02/05/2008 1500 49
1296 02/05/2008 1600 88
1296 02/05/2008 1700 124
1296 02/05/2008 1800 91
1296 02/05/2008 1900 42
1296 02/05/2008 2000 33
1296 02/05/2008 2100 13
1296 02/05/2008 2200 9
1296 02/05/2008 2300 8
Недавно я задал вопрос о том, как разделить мои данные, если данные соответствуют определенным критериям между двумя часами дня (см. вопрос здесь подмножество данных за день, если данные между двумя часами дня соответствуют критериям?), который работал нормально .
Мой дополнительный вопрос таков:
Любые значения меньше 0 необходимо удалить из набора данных, так как это ошибка. Для дней, где между 600 и 2200 > 0 (поэтому, если есть 0 отсчетов в 900, это будет означать, что день не включен в подмножество, но если есть отсчеты между 600 и 2200, но 0 в 200, тогда весь день все еще считается) мой код работает нормально, но есть пара часов, казалось бы, случайных дней, когда у меня есть данные -4, включенные в вывод (в примере 1100 и 1200). Я не вижу причин, по которым эти отрицательные числа должны оставаться в наборе данных, так как остальные отрицательные числа удалены. Я также проверил свои исходные данные, и нет никакой разницы в форматирование. Любая помощь будет очень признательна, так как я не нашел ничего, что могло бы помочь при поиске в Интернете, и я считаю, что код, указанный в моем последнем вопросе, был правильным.
Вот код, который я использовал (который все работы находят, кроме случайных -4 в течение нескольких дней).
#code to make only 600 hrs to 2200 hrs over 0 #
#########################################
TDF <- subset(cc, Hour>=600 & Hour<=2200)
# get dates where there are no hours with zero count
dates2 <- subset(aggregate(counts~Date,TDF,prod),counts>=0)$Date
DF3 <- subset(cc,Date %in% dates2)
#i then make the counts daily (not shown in example)#
###########################################
daily=subset(DF3)
daily$Date <- as.Date(daily$Date, "%d/%m/%Y")
town=aggregate(counts ~ Date, daily, sum)
Заранее спасибо за помощь, Катя.