Создайте составной ключ и объедините две таблицы в R - PullRequest
0 голосов
/ 27 августа 2018

Я работаю над проектом в R. У меня есть два фрейма данных с несколькими записями для каждого идентификатора сотрудника в обоих фреймах данных. То есть, например, идентификатор сотрудника 1 имеет несколько записей в таблице 1 и таблице 2. Поэтому в этих таблицах первичный ключ отсутствует.

Я хочу объединить эти две таблицы для лучшего анализа. Когда я пытаюсь объединить эти таблицы, он подсчитывает перестановки каждого идентификатора и искажает данные в итоговой таблице.

Может кто-нибудь, пожалуйста, предложить выход.

Ответы [ 2 ]

0 голосов
/ 27 августа 2018

Я работаю над проектом в R. У меня есть два фрейма данных с несколькими записями для каждого идентификатора сотрудника в обоих фреймах данных. То есть, например, идентификатор сотрудника 1 имеет несколько записей в таблице 1 и таблице 2. Поэтому в этих таблицах первичный ключ отсутствует.

Одна из идей состоит в том, чтобы оборачивать ваши данные, чтобы больше не было нескольких записей.

Другой способ - обобщить ваши данные, чтобы в каждой таблице был только ряд на сотрудника.

Третье - использовать полное соединение для подключения всех совпадающих идентификаторов

https://dplyr.tidyverse.org/reference/join.html

library(dplyr)
full_join(df1, df2, by = "EmployeeID")

Ознакомьтесь с DPLYR "Шпаргалке по преобразованию данных" https://github.com/rstudio/cheatsheets/raw/master/data-transformation.pdf

0 голосов
/ 27 августа 2018

Вы можете объединить две таблицы с помощью команды merge.

by = "employeeid" позволяет указать ключевой столбец. если у вас есть более одного столбца by = c("emoloyeeid", "period")

table3 <- merge(table1, table2, by  = "employeeid")

?merge даст вам больше возможностей.

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