Использование R: как объединить два фрейма данных с неуникальными ключами, которые повторяются снова и снова в большом наборе данных - PullRequest
0 голосов
/ 10 декабря 2018

Я пытаюсь выровнять данные с задержками по времени, используя R. Таблица выглядит следующим образом:

   Row        Timestamp         ID1   Var1  Var2  ID2  Var3  Var4
   1      2/27/2018 4:09:30     33    3     4    22    3     4
   2      2/27/2018 4:10:00     34    3     4    23    3     4
   3      2/27/2018 4:10:30     34    3     4    24    3     4
   4      2/27/2018 4:11:00     35    3     4    NA    NA     NA
   5      2/27/2018 4:11:30     36    3     4    25    3     4
   6      2/27/2018 4:12:00     36    3     4    26    3     4
   7      2/27/2018 4:12:30     37    3     4    NA    NA     NA
   8      2/27/2018 4:13:00     38    3     4    NA    NA     NA
   9      2/27/2018 4:13:30     38    3     4    NA    NA     NA
  10      2/27/2018 4:14:00      1    3     4    NA    NA     NA
  11      2/27/2018 4:14:30      1    3     4    NA    NA     NA
  12      2/27/2018 4:15:00      2    3     4    27    3     4
  13      2/27/2018 4:15:30      3    3     4    28    3     4
  14      2/27/2018 4:16:00      3    3     4    NA    NA     NA
  15      2/27/2018 4:16:30      4    3     4    29    3     4
  16      2/27/2018 4:17:00      5    3     4    30    3     4
  17      2/27/2018 4:17:30      5    3     4    31    3     4
  18      2/27/2018 4:18:00      6    3     4    NA    NA     NA
  19      2/27/2018 4:18:30      7    3     4    32    3     4
  20      2/27/2018 4:19:00      8    3     4    33    3     4
  21      2/27/2018 4:19:30      8    3     4    NA    NA     NA
  22      2/27/2018 4:19:00      9    3     4    34    3     4
  23      2/27/2018 4:19:00      10   3     4    35    3     4

Ожидаемая таблица будет выглядеть следующим образом:

    Row        Timestamp         ID1   Var1  Var2  ID2  Var3  Var4
    1      2/27/2018 4:09:30     33    3     4      33    3     4
    2      2/27/2018 4:10:00     34    3     4      34    3     4
    3      2/27/2018 4:10:30     34    3     4      NA    NA    NA
    4      2/27/2018 4:11:00     35    3     4      35    3     4

Здесьбольше информации.Данные были организованы и сохранены в одной системе, упорядоченной по метке времени.Таким образом, ID1, Var1, Var2 являются данными, генерирующими устройство, и затем ремню требуется некоторое время, чтобы перенести это устройство к контрольной точке.ID2, Var3 и Var4 - данные, полученные в контрольной точке.По сути, в строке 1, когда они генерируют ID1 33 устройства, в этот момент времени контрольная точка проверяет ID2 22 устройства, созданное на некоторое время раньше, чем ID1 33. Поэтому я хочу сопоставить / объединить данные в строке 1 для ID1 33 (с Var1 и Var2) с данными строки 20 для ID2 33 (с Var3 и Var4).Я пытаюсь соединить правильные данные, производящие это устройство, и данные контрольной точки, дающие данные о качестве этого устройства.Я попытался разделить данные на два фрейма данных, чтобы выполнить слияние, но я не нашел хорошего способа, потому что: 1) в ID1 есть повторение идентификатора, потому что частота выборки людей выбиралась (30 с в примере);2) в ID2 есть NA, потому что система контрольных точек выдает данные только тогда, когда действительно проверено устройство.3) нет уникального ключа для объединения, так как ID1 и ID2 повторяются каждые 1-38.

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