2017-07-20 21 views
1

我要导出此数组中的csv在我的数组中的每个矩阵在单独的表出口阵列,使每一个“矩阵” R分别在不同的表

> a <- aperm(array(1:96, dim= c(4,8,3)), c(2,1,3)) 
, , 1 

    [,1] [,2] [,3] [,4] 
[1,] 1 2 3 4 
[2,] 5 6 7 8 
[3,] 9 10 11 12 
[4,] 13 14 15 16 
[5,] 17 18 19 20 
[6,] 21 22 23 24 
[7,] 25 26 27 28 
[8,] 29 30 31 32 

, , 2 

    [,1] [,2] [,3] [,4] 
[1,] 33 34 35 36 
[2,] 37 38 39 40 
[3,] 41 42 43 44 
[4,] 45 46 47 48 
[5,] 49 50 51 52 
[6,] 53 54 55 56 
[7,] 57 58 59 60 
[8,] 61 62 63 64 

, , 3 

    [,1] [,2] [,3] [,4] 
[1,] 65 66 67 68 
[2,] 69 70 71 72 
[3,] 73 74 75 76 
[4,] 77 78 79 80 
[5,] 81 82 83 84 
[6,] 85 86 87 88 
[7,] 89 90 91 92 
[8,] 93 94 95 96 

结果我用写时有出口.csv()是每个矩阵连接在一起的表格。我想在我的csv中使用3个不同的表格。

可以帮我吗?

what I want

+0

你能解释一下造成CSV应该是什么样子更准确? – Florian

+0

如果使用write.csv()我有我的矩阵联合从左边写入没有分离。我希望他们彼此分开 –

+0

让他们以后代的方式组织起来会是最好的 –

回答

1

还没100%我清楚,但是这是你正在尝试做什么?

a = aperm(array(1:96, dim= c(4,8,3)), c(2,1,3)) 

b = a[,,1] 

for(i in 2:dim(a)[3]) 
{ 
    # uncomment the line below if you want no white space between tables. 
    b = rbind(b, rep("",ncol(b))) 
    b = rbind(b,a[,,i]) 
} 

write.csv(b,file="test.csv",row.names = F) 

得到的CSV:

enter image description here

+0

(我在2:dim(a)[3])这代表这部分代码是什么意思? –

+0

我已经在b数据帧中添加了一个[,, 1],所以现在我们要添加一个[,, 2]和一个[,, 3]静止。 1的尺寸是8x4x3,我们想要在第三维上循环。在你的控制台中尝试'dim(a)'。所以在这种情况下简化为(我在2:3)。 – Florian

+0

您的代码有效,但我想将它们与不同长度的数据集一起使用。我需要了解它,才能将它用于不同的数据集。我对你做了什么有一个直觉,但是我希望你能解释我 –