【问题标题】:How to combine a list of data.frames when all columns are unique?当所有列都是唯一的时,如何组合 data.frames 列表?
【发布时间】:2020-04-03 08:41:23
【问题描述】:

我正在寻求将 10 个单独的数据帧组合到我从标准 for 循环过程创建的数据帧列表中。但是,每个数据框中的每个列名都是唯一的。我不寻求将任何列绑定到其他列。我只是想将所有列彼此相邻放置。所以 rbind 对我不起作用。

> do.call(rbind, data)
Error in match.names(clabs, names(xi)) : 
  names do not match previous names

任何帮助将不胜感激。

【问题讨论】:

  • 这看起来很相似 stackoverflow.com/questions/28566588/… 你尝试过那里的解决方案吗?
  • rbindlist 不起作用。 “rbindlist(data) 中的错误:第 10 项有 1 列,与有 5 列的第 1 项不一致。要填充缺失的列,请使用 fill=TRUE。”
  • 列通过cbind连接。 rbind 向数据中添加行。
  • 哈哈好吧,亲爱的,做到了。谢谢

标签: r


【解决方案1】:

如果你想使用rbind,也许你可以试试下面的代码

do.call(rbind,Map(as.matrix,data))

示例

df1 <- data.frame(a = 1:2, b = 1:2)
df2 <- data.frame(c = 1:3, d = 1:3)
data <- list(df1,df2)

这样

> do.call(rbind,Map(as.matrix,data))
     a b
[1,] 1 1
[2,] 2 2
[3,] 1 1
[4,] 2 2
[5,] 3 3

【讨论】:

    猜你喜欢
    • 2012-10-06
    • 2018-11-11
    • 2018-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-20
    • 2020-11-17
    • 1970-01-01
    相关资源
    最近更新 更多