Мы можем использовать purrr::reduce
с dplyr::full_join
library(tidyverse);
reduce(list(df1, df2, df3), function(x, y) full_join(x, y, by = "Name"))
# Name X10th Mark.x X12th Mark.y B.Tech Mark
#1 Ram ICSE 562 PCM 589 Mech 589
#2 Sam CBSE 589 CBZ 689 Civil 689
#3 Deep CBSE 523 PCM 563 IT 563
или в базе R:
Reduce(function(x, y) merge(x, y, by = "Name"), list(df1, df2, df3))
# Name X10th Mark.x X12th Mark.y B.Tech Mark
#1 Deep CBSE 523 PCM 563 IT 563
#2 Ram ICSE 562 PCM 589 Mech 589
#3 Sam CBSE 589 CBZ 689 Civil 689
Пример данных
df1 <- read.table(text =
"Name 10th Mark
Ram ICSE 562
Sam CBSE 589
Deep CBSE 523", header = T);
df2 <- read.table(text =
"Name 12th Mark
Ram PCM 589
Sam CBZ 689
Deep PCM 563", header = T);
df3 <- read.table(text =
"Name B.Tech Mark
Ram Mech 589
Sam Civil 689
Deep IT 563", header = T)