Я использовал довольно много битов кода, которые выделяют, когда определенные требования не выполняются, или говорят мне, какие записи дублируются, но я не смог выяснить как закодировать, если требование не выполняется.Флаг, если требование не удовлетворено
Я использую относительно средний dataframe, который включает даты. Обычно должно быть 24 входа в день, т. Е. Один раз в час. Но в некоторых случаях это больше или меньше. Мне нужно что-то, что скажет мне, какой номер/данные входа не удовлетворяет этим критериям из 24 записей. Есть ли у кого-нибудь предложения о том, как подойти к этому?
Приведенный ниже пример кода, который я использовал до сих пор (для выполнения других функций).
td_1 <- read.csv("testdata_1.csv", header=TRUE)
td_1$OB_DATE <- as.Date(td_1$OB_DATE)
valueMissing <- seq(min(td_1$OB_DATE), max(td_1$OB_DATE), by = 1)
valueMissing[!valueMissing %in% td_1$OB_DATE]
countDup <- anyDuplicated(td_1$OB_DATE)
valueDup <- td1[duplicated(td_1$OB_DATE),]
Ниже приведен пример данных (обратите внимание, что в действительности существует более 500 000 строк, это всего лишь небольшой образец)
OB_DATE AIR_TEMPERATURE
09/05/1973 00:00 10
09/05/1973 01:00 10.2
09/05/1973 02:00 10
09/05/1973 03:00 10
09/05/1973 04:00 9.9
09/05/1973 05:00 9.9
09/05/1973 06:00 10.2
09/05/1973 07:00 10.8
09/05/1973 08:00 12.2
09/05/1973 09:00 11.9
09/05/1973 10:00 12.7
09/05/1973 11:00 12.8
09/05/1973 12:00 13.4
09/05/1973 13:00 13.9
09/05/1973 14:00 14.6
09/05/1973 15:00 13.5
09/05/1973 16:00 13.5
09/05/1973 17:00 12.8
09/05/1973 18:00 12.2
09/05/1973 19:00 11.9
09/05/1973 20:00 11
09/05/1973 21:00 10.3
09/05/1973 22:00 10.2
09/05/1973 23:00 10
10/05/1973 00:00 10
10/05/1973 01:00 9.8
10/05/1973 02:00 9.6
10/05/1973 03:00 9.7
10/05/1973 04:00 9.5
10/05/1973 05:00 8.5
10/05/1973 06:00 7.5
10/05/1973 07:00 7.8
10/05/1973 08:00 8.8
10/05/1973 09:00 9.6
10/05/1973 10:00 10
10/05/1973 11:00 11
10/05/1973 12:00 8
10/05/1973 13:00 10.3
10/05/1973 14:00 12.2
10/05/1973 15:00 12.7
10/05/1973 16:00 12.7
10/05/1973 17:00 12.4
10/05/1973 17:00 12.4
10/05/1973 18:00 12
10/05/1973 18:00 12
10/05/1973 19:00 10.9
10/05/1973 20:00 9.4
10/05/1973 21:00 7.2
10/05/1973 22:00 6.7
10/05/1973 23:00 6.8
11/05/1973 00:00 5.7
11/05/1973 01:00 5.2
11/05/1973 02:00 4.7
11/05/1973 03:00 4.3
11/05/1973 04:00 4
11/05/1973 05:00 4.2
11/05/1973 06:00 5
11/05/1973 08:00 8.4
11/05/1973 09:00 9.2
11/05/1973 10:00 10.8
11/05/1973 11:00 11.7
11/05/1973 12:00 11.4
11/05/1973 13:00 12.9
11/05/1973 14:00 13.3
11/05/1973 15:00 13.3
11/05/1973 16:00 13.5
11/05/1973 17:00 13.6
11/05/1973 18:00 12.6
11/05/1973 19:00 11.8
11/05/1973 20:00 10.3
11/05/1973 21:00 9.7
11/05/1973 22:00 8.8
11/05/1973 23:00 7.6
В этой ситуации данные по 10 завершена с 24 входами, но для 11-го - только 26 записей, а 12-е - 23 записи. Мне нужно что-то, что предупредит меня об этом факте, например. давая даты 11/05/1973 и 12/05/1973 (похожие на выходные данные, которые я создал для кода недостающих значений).
Спасибо, ваш первый вариант предоставляет информацию в наиболее лаконичный путь, учитывая огромное количество данных, связанных – Visser
Мне нужно добавить 'a s.data.frame', чтобы просмотреть каждую запись (хотя она ограничивает ее лишь 10), в противном случае она идеальна. – Visser
@ Visser это интересно. Я не знал, что ... – Sotos