как объединить два фрейма данных без повторяющихся полей в R - PullRequest
0 голосов
/ 04 апреля 2019

Я пытаюсь объединить данные из общего столбца с именем Дата.

это мои 2 кадра данных:

> head(cpu)
       Metric_Name                Date MAXVAL
38821 HostCPUUsage 2019-01-03 14:00:00     21
38822 HostCPUUsage 2019-01-03 15:00:00     23
38823 HostCPUUsage 2019-01-03 16:00:00     22
38824 HostCPUUsage 2019-01-03 17:00:00     19
38825 HostCPUUsage 2019-01-03 18:00:00     16
38826 HostCPUUsage 2019-01-03 19:00:00     15
> head(work)
      Metric_Name1                Date  Val
34506 Transactions 2019-01-03 14:00:00 2754
34507 Transactions 2019-01-03 15:00:00 2594
34508 Transactions 2019-01-03 16:00:00 2252
34509 Transactions 2019-01-03 17:00:00 3363
34510 Transactions 2019-01-03 18:00:00 1368
34511 Transactions 2019-01-03 19:00:00 1282

когда я делаю это:

объединить (процессор, работа, = c ("Дата")

Я получаю несколько полей даты. Мне нужно уникальное поле даты для работы и процессора:

> head(ddd)
                 Date Metric_Name1  Val  Metric_Name MAXVAL
1 2019-01-03 14:00:00 Transactions 2754 HostCPUUsage     21
2 2019-01-03 14:00:00 Transactions 2754 HostCPUUsage     18
3 2019-01-03 14:00:00 Transactions 1994 HostCPUUsage     21
4 2019-01-03 14:00:00 Transactions 1994 HostCPUUsage     18
5 2019-01-03 15:00:00 Transactions 3316 HostCPUUsage     22
6 2019-01-03 15:00:00 Transactions 3316 HostCPUUsage     23

Это должно быть так:

> head(ddd)
                 Date Metric_Name1  Val  Metric_Name MAXVAL
1 2019-01-03 14:00:00 Transactions 2754 HostCPUUsage     21
6 2019-01-03 15:00:00 Transactions 3316 HostCPUUsage     23

1 Ответ

0 голосов
/ 04 апреля 2019

функция inner_join из пакета dplyr должна соответствовать тому, что вы ищете:

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

library(dplyr)
inner_join(cpu, work, by = "Date")

Выходные данные, предоставленные вами в результатеиспользование merge не является понятным, так как значение 1994 не встречается в предоставленных вами данных.

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