Фильтрация расхождений в дублирующих измерениях - PullRequest
0 голосов
/ 12 января 2019

У меня есть набор данных со следующей проблемой. Иногда датчик температуры возвращает одинаковые показания в одну и ту же минуту, когда иногда один из двух дубликатов является «разумным», а другой слегка отключен. Например:

    TEMP   TIME
1   24.5   4/1/18 2:00
2   24.7   4/1/18 2:00 
3   24.6   4/1/18 2:05
4   28.3   4/1/18 2:05
5   24.3   4/1/18 2:10
6   24.5   4/1/18 2:10
7   26.5   4/1/18 2:15
8   24.4   4/1/18 2:15
9   24.7   4/1/18 2:20
10  22.0   4/1/18 2:20

Строки 5, 7 и 10 - это показания, которые должны быть удалены, так как они слишком высокие или низкие (не имеет смысла, что в течение 5 минут он будет подниматься и опускаться более чем на градус в относительно стабильной среде).

Цель в конце этого набора данных состоит в том, чтобы «усреднить» аналогичные значения (например, в строке 1 и 2) и просто полностью удалить слишком экстремальные линии (например, строки 5 и 7) из набора данных.

В настоящее время моя идея сформулировать это состоит в том, чтобы посмотреть на ранее полученную строку и, если один из двух дубликатов равен +/- 0,5 градуса, пометить в 3-м столбце значение ИСТИНА, чтобы я мог отфильтровать все значения ИСТИНА в конец. Я не уверен, как сообщить в операторе if, что я ищу + или - 0,5 от предыдущего числа, однако. Кто-нибудь знает?

Ответы [ 3 ]

0 голосов
/ 12 января 2019

Итак, простое решение пришло мне в голову. Выполните следующие шаги, приведенные ниже:

  1. Преобразование данных в таблицу
  2. Добавить 4-й столбец в последний
  3. Введите формулу «Текущее значение - Предыдущее значение»
  4. Фильтр столбца с высокими значениями разности
  5. Удалите эти строки отфильтрованных данных, и у вас останутся нормальные значения Вот ссылка. Образ Delete High Values
0 голосов
/ 12 января 2019

Или Если вы хотите учитывать только ту же разницу во времени, сделайте следующее:

  1. Преобразование ваших данных в таблицу
  2. Добавить 4-й столбец в конце таблицы
  3. Запишите следующую формулу в 4-й столбец IF (Current_Time = Previous_Time, Current_Temp-Previous_Temp, "")
  4. Фильтрация и удаление данных с большой разницей Смотрите следующее изображение:

Example 2

0 голосов
/ 12 января 2019

Вот пример листа Google, который делает то, что вы хотите: https://docs.google.com/spreadsheets/d/1Va9RjSeulOfVTd-0b4EM4azbUkYUb22jXNc_EcafUO8/edit?usp=sharing

Что я сделал:

  • Рассчитать столбец из 3-элементного скользящего среднего данных, используя "= AVERAGE (B3: B1)"
  • Отфильтруйте список, используя "= IF (ABS (B2-C2) <1, B2,)" </li>
  • Рассчитать среднее значение отфильтрованного списка

Использование Абсолютной Ценности - это то, что обеспечивает "+ ИЛИ", что вы искали. Говорят, если расстояние между двумя числами слишком велико, тогда не включайте термин.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...