我从列表l1
开始,我想将其转换为output
。因此,l1
中的数据框需要通过其第一列(A)合并。
df1 <- read.table(text="
A B
1 3
2 4 ", header=T)
df2 <- read.table(text="
A C
1 8
3 9 ", header=T)
l1 <- list(df1, df2); l1
output <- read.table(text="
A B C
1 3 8
2 4 NA
3 NA 9 ", header=T); output
答案 0 :(得分:3)
library(purrr)
reduce(l1, merge, by = "A", all = TRUE)
如果列表中有两个以上的数据框,也可以使用。
答案 1 :(得分:0)
对于baseR
选项,请尝试在外部联接模式下使用merge()
:
output <- merge(df1, df2, by = "A", all = TRUE)