将列表转换为数据框,使用r

时间:2015-08-19 13:36:55

标签: r list dataframe

使用r:

我有100个这样的列表:

[[1]]

      A   B
ST1   2   3
ST2   4  10
ST3   5   6

[[2]]

       A   B
ST1    4   8
ST2    5   2
ST3   20  10
直到100 ......它们都是相同的结构。我知道如何将它们组合成一个df,它们都垂直分成三列。但是,我想要的是这样的:

      A1   B1   A2  B2... A100  B100
ST1   2   3      4   8
ST2   4  10      5   2
ST3   5   6     20  10

有谁知道怎么做?

非常感谢!

1 个答案:

答案 0 :(得分:0)

我们可以使用do.call(cbindlist data.frames转换为单data.frame

df1 <- do.call(cbind, lst)
colnames(df1) <- make.unique(colnames(df1))

或者

colnames(df1) <- paste0(colnames(df1), rep(seq_along(lst), each=length(lst)))
df1
#    A1 B1 A2 B2
#ST1  2  3  4  8
#ST2  4 10  5  2
#ST3  5  6 20 10

或者只是

df1 <- data.frame(lst)

并更改列名称。