Как объединить R на основе различной информации столбца и только одного уникального идентификатора - PullRequest
0 голосов
/ 02 ноября 2019

Я пытаюсь объединить 2 набора данных:

dataset 1
id, month, year, postal

dataset 2
id, month, year, postal, Income, name, division

dataset 1
id year month postal  
1 2010   9     j0r1h0
2 2010   8     j0r1h0
....
....
7   2007 6     j3x4p2

dataset 2
id,  year, month, postal, name, division
1   2010 9     j0r1h0 john starting
2   2010 8     j0r1h0 lili retired

Я хочу сохранить все мои столбцы и строки в наборе данных 1 и получить дополнительные столбцы из набора данных 2, например, Доход и деление.

Я получаю неправильный результат, повторяющееся поле в месяце и году, когда я пытался:

merge(a,b,by=c(postal,month,year,all.x=TRUE)

Это мой ожидаемый результат:

id year month postal name division
1   2010 9     j0r1h0 john  starting
2   2010 8     j0r1h0 lili  retired
3   2010 7     j1v3c4 verna starting
4   2009 1     j23c5  Greg  medium
5   2007 1     j2j4d3 Greg  medium
6   2008 2     j2p4s3  na   na
7   2007 6     j3x4p2  na   starting

И это мой результат:

id year month postal name division
1   2010 9     j0r1h0 john  starting
2   2010 8     j0r1h0 lili  retired
3   2010 8     j0r1h0  na   na
4   2010 7      na     na   na
5   2010 7     j1v3c4 verna starting
6   2009 1     j23c5  Greg  medium
7   2007 1     j2j4d3 Greg  medium
8   2008 2     j2p4s3  na   na
9   2007 6     j3x4p2  na   starting
9   2007 1     j3x4p2  na   starting

мой реальный размер набора данных превышает 200000 x 16

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