Объединение двух data.tables с использованием двух столбцов в R - PullRequest
0 голосов
/ 18 апреля 2020

Предположим, у меня есть следующие data.tables:

dt1 <- data.table(id_1 = 1:4,
                  name_1 = c("a", "b", "a", "b"), 
                  score_1 = 11:14)
# dt1:
   id_1 name_1 score_1
1:    1      a      11
2:    2      b      12
3:    3      a      13
4:    4      b      14

dt2 <- data.table(id_2 = 1:5,
                  name_2 = rep("a", 5),
                  score_2 = 21:25)
# dt2:
   id_2 name_2 score_2
1:    1      a      21
2:    2      a      22
3:    3      a      23
4:    4      a      24
5:    5      a      25

Как я могу объединить dt1 и dt2 выше, используя два столбца, id_1 и name_1, чтобы получить следующие данные таблица?

# desired data.table:
   id_1 name_1 score_1 score_2
1:    1      a      11      21
2:    2      b      12      NA
3:    3      a      13      23
4:    4      b      14      NA

Я попробовал приведенный ниже код, но он не выдает нужную таблицу данных выше.

dt3 <- dt1[dt2, on = .(id_1 = id_2, name_1 = name_2)]

Кроме того, кто-то может указать мне на хорошую виньетку, например тот, что ниже, охватывает топи c объединения / слияния?

https://cran.r-project.org/web/packages/data.table/vignettes/datatable-intro.html

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