I have two data frames (df_a and df_b) both containing a number of columns and patient IDs. The columns contain information about particular diagnosis (TRUE or FALSE). My task is to combine the two data frames so that the value is TRUE if the value is TRUE in any of the data frames.
In reality there is a different number of rows in df_a and df_b. The matching should be done using the id. Both data frames have the same set of columns.
df_a <- data.frame(id = 1:10,
dg_a = c(T, T, T, F, F, F, T, T, F, T),
dg_b = c(F, F, F, F, T, T, F, T, T, F))
df_b <- data.frame(id = 1:10,
dg_a = c(F, F, F, T, F, F, F, T, T, T),
dg_b = c(F, T, T, F, F, T, F, T, F, F))
I.e. after combining data frames df_a and df_b I should get df_c.
>df_c
id dg_a dg_b
1 1 TRUE FALSE
2 2 TRUE TRUE
3 3 TRUE TRUE
4 4 TRUE FALSE
5 5 FALSE TRUE
6 6 FALSE TRUE
7 7 TRUE FALSE
8 8 TRUE TRUE
9 9 TRUE TRUE
10 10 TRUE FALSE
What is the best way of doing this in R? I have tried different types of joins but I can't quite figure it out.