Maybe something like this? > df_A <- data.frame(names=LETTERS[1:10], values_A=1:10) > df_B <- data.frame(names=LETTERS[6:15], values_B=11:20) > df_AB <- merge(df_A, df_B, by="names") > df_AAB <- merge(df_A, df_AB, all.x=TRUE) > df_BAB <- merge(df_B, df_AB, all.x=TRUE) > df_C <- df_AAB[is.na(df_AAB$values_B), ] > df_D <- df_BAB[is.na(df_BAB$values_A), ] > df_AB names values_A values_B 1 F 6 11 2 G 7 12 3 H 8 13 4 I 9 14 5 J 10 15 > df_C names values_A values_B 1 A 1 NA 2 B 2 NA 3 C 3 NA 4 D 4 NA 5 E 5 NA > df_D names values_B values_A 6 K 16 NA 7 L 17 NA 8 M 18 NA 9 N 19 NA 10 O 20 NA >
HTH, Bill. W. Michels, Ph.D. On Sun, Jun 13, 2021 at 2:38 PM Gregg Powell via R-help <r-help@r-project.org> wrote: > > This is even complicated to write into a question.... > > Have two data.frames (A and B) > > data.frame A and B each have a name column. Want to compare A and B > data.frame to each other based on the values in the 'names' columns - for > every name that appears in dataframe A but not B, I want to copy the > corresponding rows to a third dataframe C, and for every name that appears in > B but not A, I want to copy the corresponding rows to a fourth dataframe D. I > can then row bind the dataframes C and D together and get a complete list of > all the rows that were missing in either A or B. > > try as I might - I can't get this to work. Can someone help P-L-E-A-S-E!!!! > > > Thanks, > Gregg Powell > AZ, USA______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.