У меня есть две отдельные таблицы с разными первичными ключами, и мне нужно объединить их.В одной таблице представлен результат, а в другой - ID вовлеченных людей.Поскольку есть несколько результатов, и есть несколько людей, которые могут иметь аналогичные результаты, соединения в моей таблице не синхронизируются должным образом.Возможно, я здесь упускаю шаг и не думаю о чем-то логически, но любой совет очень ценится.
Первоначально я пытался присоединиться к таблице, используя найденную мной функцию:
rbind.all.columns <- function(x, y) {
x.diff <- setdiff(colnames(x), colnames(y))
y.diff <- setdiff(colnames(y), colnames(x))
x[, c(as.character(y.diff))] <- NA
y[, c(as.character(x.diff))] <- NA
return(rbind(x, y))
}
Однако,все, что он делает, это дает мне результат и список идентификаторов.
Таблица 1:
EVENT ID
145754 1738
145754 1756
145639 1738
145639 1756
df1 <- structure(list(EVENT = c(145754L, 145754L, 145639L, 145639L), ID = c(1738L, 1756L, 1738L, 1756L)), class = "data.frame", row.names = c(NA, -4L))
Таблица 2:
ENTRY EVENT RESULT
DEL 145754 Was given xxx med
INS 145754
DEL 145639 Reported stomachache
INS 145639
df2 <- structure(list(ENTRY = c("DEL", "INS", "DEL", "INS"), EVENT = c(145754L, 145754L, 145639L, 145639L), RESULT = c("Was given xxx med", "", "Reported stomachache", "")), class = "data.frame", row.names = c(NA, -4L))
Желаемая таблица:
ID EVENT RESULT
1738, 1756 145754 Was given xxx med
1738, 1756 145639 Reported stomachache