I avoid joins in R like a plague. Been burned. If I am working with a finite number of colummns, I just use base R match and add column by column. yes it breaks DRY but I don't get weird surprises. and I can re-run any section of the code at any time from any point without breaking things or joining the same and creating unintended duplicate columns