将数据帧放入r中的数组中

时间:2016-01-10 19:30:19

标签: arrays r dataframe

我有两个数据框:

第一个:

c1.df1 <- c(10, 55, 3)
c2.df1 <- c(-5, 18, 60)
df1 <- data.frame(c1.df1, c2.df1)
rownames(df1) <- c("row1", "row2", "row3")
colnames(df1) <- c("col1", "col2")

结果:

     col1 col2
row1   10   -5
row2   55   18
row3    3   60

借口人:

c1.df2 <- c(12, -99, 98)
c2.df2 <- c(-55, 8, 45)
df2 <- data.frame(c1.df2, c2.df2)
rownames(df2) <- c("row1", "row2", "row3")
colnames(df2) <- c("col1", "col2")

结果:

     col1 col2
row1   12  -55
row2  -99    8
row3   98   45

我想把它们中的两个放入一个数组中,得到结果:

, , 1
     col1 col2
row1   10   -5
row2   55   18
row3    3   60

, , 2
    Col1 Col2
row1   12  -55
row2  -99    8
row3   98   45

我试过了:

res <- array(c(df1, df2), c(3, 2, 2))

但我没有得到我想要的东西。

1 个答案:

答案 0 :(得分:2)

我们需要使用unlist

array(c(unlist(df1), unlist(df2)), c(3, 2, 2), 
            dimnames=list(rownames(df1), colnames(df1)))