2017-08-24 142 views
0

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

代码看起来像 阵列< - abind(DF1,DF2)

+0

欢迎来到StackOverflow。请看看这些关于如何产生[最小,完整和可验证的例子](http://stackoverflow.com/help/mcve)的技巧,以及这篇文章[在R中创建一个很好的例子]( http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)。 – lmo

+0

也许这会帮助:'abind(matrix(0,4,4),matrix(1,4,4),along = 3)'。 – lmo

回答

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) 
} 

注:

-The 会保留其价值,在第一次循环结束后

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