【问题标题】:Merge data frames stored in list into single data frame in R [duplicate]将存储在列表中的数据帧合并到R中的单个数据帧中[重复]
【发布时间】:2017-09-26 06:11:56
【问题描述】:

我从列表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

【问题讨论】:

    标签: r list dataframe merge


    【解决方案1】:
    library(purrr)
    reduce(l1, merge, by = "A", all = TRUE)
    

    如果列表中有两个以上的数据框,这也将起作用。

    【讨论】:

      【解决方案2】:

      对于baseR 选项,请尝试在外连接模式下使用merge()

      output <- merge(df1, df2, by = "A", all = TRUE)
      

      【讨论】:

        猜你喜欢
        • 2015-08-11
        • 2013-11-16
        • 1970-01-01
        • 2013-06-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-08
        相关资源
        最近更新 更多