使用r中的abind将数据帧或矩阵转换为数组

时间:2017-08-24 16:10:58

标签: arrays r

我有两个数据帧是10行和11列。我试图使用abind包中的abind命令将数据帧堆叠到一个数组中,但它只是将它们绑定在同一个demission中。有没有更简单的方法将数据框或矩阵转换为数组,或者我只是缺少一个参数来使它正确?任何帮助,将不胜感激。

代码看起来像 array< - abind(df1,df2)

1 个答案:

答案 0 :(得分:0)

你可以轻松做到的是:

f <- function(dataframe1, dataframe2){
    m1 = data.matrix(dataframe1)
    m2 = data.matrix(dataframe2)

    vet = vector()
    for(i 1:( nrow(m1)*(ncol(m1)) )) { vet[i] = m1[i] }
    for(j 1:( nrow(m2)*(ncol(m2)) )) { vet[i+j] = m2[j] }

    return(vet)
}

注意:

- i 将在第一个循环结束后保留​​其值

- 矩阵和矢量是一回事,它只取决于你的感知。我正在做的是利用这个事实。来自2×2矩阵的a(2,2)元素与矢量的(4)相同。